New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 4280 link

Starred by 22 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
HW: ----
NextAction: ----
OS: ----
Priority: ----
Type: ----


Sign in to add a comment

Ignition interpreter tracking bug

Project Member Reported by rmcilroy@chromium.org, Jul 7 2015

Issue description

Bug tracking the implementation of the ignition interpreter.

Design Doc: https://docs.google.com/document/d/11T2CRex9hXxoJwbYqVQ32yIPMh0uouUZLdyrtmMoL44/edit#
 
Showing comments 401 - 500 of 500 Older
Project Member

Comment 401 by bugdroid1@chromium.org, Jul 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8aaa91efe6acd7579ba2f4455d3566e48d45a558

commit 8aaa91efe6acd7579ba2f4455d3566e48d45a558
Author: machenbach <machenbach@chromium.org>
Date: Thu Jul 14 07:29:31 2016

Revert of [interpreter] Reduce dependencies in bytecodes.{h,cc} (patchset #8 id:140001 of https://codereview.chromium.org/2135273002/ )

Reason for revert:
Breaks the roll, possibly win gn:
https://codereview.chromium.org/2148863002/

Original issue's description:
> [interpreter] Reduce dependencies in bytecodes.{h,cc}
>
> This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate
> generating the bytecode peephole optimizer table during build. Specifically,
> it avoids depending on v8_base.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/4edebb1cd870ae6c1359ad54f83e618e185883b1
> Cr-Commit-Position: refs/heads/master@{#37715}

TBR=mstarzinger@chromium.org,rmcilroy@chromium.org,oth@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2151693003
Cr-Commit-Position: refs/heads/master@{#37743}

[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/BUILD.gn
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/DEPS
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/extensions/ignition-statistics-extension.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-array-iterator.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-array-iterator.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-array-writer.cc
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-decoder.cc
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-decoder.h
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-flags.cc
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-flags.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecode-pipeline.h
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-register.cc
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/src/interpreter/bytecode-register.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecodes.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/bytecodes.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/handler-table-builder.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/handler-table-builder.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/interpreter/interpreter.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/objects.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/runtime/runtime-interpreter.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/src/v8.gyp
[delete] https://crrev.com/e6a195d4ddb4c4b22060b14f75537f333ea25dc0/test/unittests/interpreter/bytecode-decoder-unittest.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/test/unittests/interpreter/bytecodes-unittest.cc
[modify] https://crrev.com/8aaa91efe6acd7579ba2f4455d3566e48d45a558/test/unittests/unittests.gyp

Project Member

Comment 402 by bugdroid1@chromium.org, Jul 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0e20ae6d8d7cc91de7492b42106a448b8792f2de

commit 0e20ae6d8d7cc91de7492b42106a448b8792f2de
Author: oth <oth@chromium.org>
Date: Fri Jul 15 12:03:04 2016

Reland "[interpreter] Reduce dependencies in bytecodes.{h,cc}"

> Original issue's description:
> [interpreter] Reduce dependencies in bytecodes.{h,cc}
>
> This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate
> generating the bytecode peephole optimizer table during build. Specifically,
> it avoids depending on v8_base.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/4edebb1cd870ae6c1359ad54f83e618e185883b1
> Cr-Commit-Position: refs/heads/master@{#37715}

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2149093002
Cr-Commit-Position: refs/heads/master@{#37794}

[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/BUILD.gn
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/DEPS
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/extensions/ignition-statistics-extension.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-array-iterator.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-array-iterator.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-array-writer.cc
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-decoder.cc
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-decoder.h
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-flags.cc
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-flags.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-pipeline.h
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-register.cc
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecode-register.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecodes.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/bytecodes.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/handler-table-builder.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/handler-table-builder.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/interpreter/interpreter.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/objects.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/runtime/runtime-interpreter.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/src/v8.gyp
[add] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/test/unittests/interpreter/bytecode-decoder-unittest.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/test/unittests/interpreter/bytecodes-unittest.cc
[modify] https://crrev.com/0e20ae6d8d7cc91de7492b42106a448b8792f2de/test/unittests/unittests.gyp

Project Member

Comment 403 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f4234422b93b21a286b0f31799009bcbe8b90b9e

commit f4234422b93b21a286b0f31799009bcbe8b90b9e
Author: oth <oth@chromium.org>
Date: Mon Jul 18 08:32:43 2016

[interpeter] Move to table based peephole optimizer.

Introduces a lookup table for peephole optimizations.

Fixes some tests using BytecodePeepholeOptimizer::Write() that should
have been update to use BytecodePeepholeOptimizer::WriteJump().

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2118183002
Cr-Commit-Position: refs/heads/master@{#37819}

[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/BUILD.gn
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/bytecode-peephole-optimizer.h
[add] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/bytecodes.cc
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/bytecodes.h
[add] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/src/v8.gyp
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 404 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/eae40165e1c667d48369abb6f22ec1276db66473

commit eae40165e1c667d48369abb6f22ec1276db66473
Author: oth <oth@chromium.org>
Date: Mon Jul 18 08:51:47 2016

Revert of [interpeter] Move to table based peephole optimizer. (patchset #38 id:730001 of https://codereview.chromium.org/2118183002/ )

Reason for revert:
Break MIPS port.

Original issue's description:
> [interpeter] Move to table based peephole optimizer.
>
> Introduces a lookup table for peephole optimizations.
>
> Fixes some tests using BytecodePeepholeOptimizer::Write() that should
> have been update to use BytecodePeepholeOptimizer::WriteJump().
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e
> Cr-Commit-Position: refs/heads/master@{#37819}

TBR=rmcilroy@chromium.org,machenbach@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2161563002
Cr-Commit-Position: refs/heads/master@{#37821}

[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/BUILD.gn
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/src/interpreter/bytecode-peephole-optimizer.h
[delete] https://crrev.com/c06ad0867e789d27668b07cc2c84ced40bfe1655/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/src/interpreter/bytecodes.cc
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/src/interpreter/bytecodes.h
[delete] https://crrev.com/c06ad0867e789d27668b07cc2c84ced40bfe1655/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/src/v8.gyp
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/eae40165e1c667d48369abb6f22ec1276db66473/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 405 by bugdroid1@chromium.org, Jul 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1eadc76419b323fb2e55ae9953142f801704aa59

commit 1eadc76419b323fb2e55ae9953142f801704aa59
Author: mythria <mythria@chromium.org>
Date: Tue Jul 19 11:09:55 2016

[Interpreter] Collect type feedback for 'new' in the bytecode handler

Collect type feedback in the bytecode handler for 'new' bytecode. The
current implementation does not collect allocation site feedback.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2153433002
Cr-Commit-Position: refs/heads/master@{#37862}

[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/builtins.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/builtins.h
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/code-factory.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/code-factory.h
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/bytecodes.h
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/src/interpreter/interpreter.cc
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/test/cctest/cctest.status
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 406 by bugdroid1@chromium.org, Jul 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a451bd1a687987a7056d7847ba14aefd195dd760

commit a451bd1a687987a7056d7847ba14aefd195dd760
Author: oth <oth@chromium.org>
Date: Tue Jul 19 11:54:21 2016

Reland "[interpeter] Move to table based peephole optimizer."

Original issue's description:
> [interpeter] Move to table based peephole optimizer.
>
> Introduces a lookup table for peephole optimizations.
>
> Fixes some tests using BytecodePeepholeOptimizer::Write() that should
> have been update to use BytecodePeepholeOptimizer::WriteJump().
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e
> Cr-Commit-Position: refs/heads/master@{#37819}

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2164583002
Cr-Commit-Position: refs/heads/master@{#37866}

[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/BUILD.gn
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/gypfiles/standalone.gypi
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/bytecode-peephole-optimizer.h
[add] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/bytecodes.cc
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/bytecodes.h
[add] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/src/v8.gyp
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/a451bd1a687987a7056d7847ba14aefd195dd760/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 407 by bugdroid1@chromium.org, Jul 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b4012176751767b1f2e58f9ac32520cb443ab2bd

commit b4012176751767b1f2e58f9ac32520cb443ab2bd
Author: mythria <mythria@chromium.org>
Date: Tue Jul 19 14:16:10 2016

Revert of [Interpreter] Collect type feedback for 'new' in the bytecode handler (patchset #6 id:100001 of https://codereview.chromium.org/2153433002/ )

Reason for revert:
This cl causes a large regression in octane (https://chromeperf.appspot.com/group_report?bug_id=629503). I have to investigate the reason before I can reland this.

Original issue's description:
> [Interpreter] Collect type feedback for 'new' in the bytecode handler
>
> Collect type feedback in the bytecode handler for 'new' bytecode. The
> current implementation does not collect allocation site feedback.
>
> BUG=v8:4280, v8:4780
> LOG=N
>
> Committed: https://crrev.com/1eadc76419b323fb2e55ae9953142f801704aa59
> Cr-Commit-Position: refs/heads/master@{#37862}

TBR=rmcilroy@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280, v8:4780

Review-Url: https://codereview.chromium.org/2165633003
Cr-Commit-Position: refs/heads/master@{#37872}

[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/builtins.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/builtins.h
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/code-factory.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/code-factory.h
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/bytecodes.h
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/src/interpreter/interpreter.cc
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/test/cctest/cctest.status
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/b4012176751767b1f2e58f9ac32520cb443ab2bd/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 408 by bugdroid1@chromium.org, Jul 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/263131cf2afd3488e2cf47fe1063f7738620783e

commit 263131cf2afd3488e2cf47fe1063f7738620783e
Author: oth <oth@chromium.org>
Date: Tue Jul 19 14:46:25 2016

[interpreter] Update ForInPrepare to conditionally use runtime.

Copies the behaviour of FullCode in attempting to get the state for
ForInPrepare inline and falling back to the runtime if necessary.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2155153002
Cr-Commit-Position: refs/heads/master@{#37874}

[modify] https://crrev.com/263131cf2afd3488e2cf47fe1063f7738620783e/src/code-stub-assembler.cc
[modify] https://crrev.com/263131cf2afd3488e2cf47fe1063f7738620783e/src/code-stub-assembler.h
[modify] https://crrev.com/263131cf2afd3488e2cf47fe1063f7738620783e/src/interpreter/interpreter.cc
[modify] https://crrev.com/263131cf2afd3488e2cf47fe1063f7738620783e/src/interpreter/interpreter.h

Project Member

Comment 410 by bugdroid1@chromium.org, Jul 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/714b95f0ff400b5eba5b47e861d860ad827da508

commit 714b95f0ff400b5eba5b47e861d860ad827da508
Author: machenbach <machenbach@chromium.org>
Date: Thu Jul 21 08:40:14 2016

Revert of [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode (patchset #3 id:80001 of https://codereview.chromium.org/2156753002/ )

Reason for revert:
Breaks tsan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10758

Original issue's description:
> [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode
>
> Always use the BytecodeGraphBuilder when the  --turbo-from-bytecode
> is enabled, assuming the function should be compiled for Ignition.
> Adds a new MaybeOptimizeIgnition function to runtime-profiler
> which is called if the function should be optimized from bytecode
> rather than going via full-codegen.
>
> BUG=v8:4280
>
> Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4
> Cr-Commit-Position: refs/heads/master@{#37921}

TBR=mstarzinger@chromium.org,rmcilroy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2165223002
Cr-Commit-Position: refs/heads/master@{#37925}

[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/src/compiler.cc
[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/src/compiler.h
[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/src/runtime-profiler.cc
[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/src/runtime-profiler.h
[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/test/cctest/cctest.status
[modify] https://crrev.com/714b95f0ff400b5eba5b47e861d860ad827da508/test/cctest/compiler/function-tester.h

Project Member

Comment 411 by bugdroid1@chromium.org, Jul 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9ca7db914be88e6792a88eab4a1988ee031d70c4

commit 9ca7db914be88e6792a88eab4a1988ee031d70c4
Author: rmcilroy <rmcilroy@chromium.org>
Date: Thu Jul 21 07:48:27 2016

[Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode

Always use the BytecodeGraphBuilder when the  --turbo-from-bytecode
is enabled, assuming the function should be compiled for Ignition.
Adds a new MaybeOptimizeIgnition function to runtime-profiler
which is called if the function should be optimized from bytecode
rather than going via full-codegen.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2156753002
Cr-Commit-Position: refs/heads/master@{#37921}

[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/src/compiler.cc
[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/src/compiler.h
[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/src/runtime-profiler.cc
[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/src/runtime-profiler.h
[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/test/cctest/cctest.status
[modify] https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4/test/cctest/compiler/function-tester.h

Project Member

Comment 412 by bugdroid1@chromium.org, Jul 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/220284638e719b67d586da10983e2006942c7040

commit 220284638e719b67d586da10983e2006942c7040
Author: klaasb <klaasb@google.com>
Date: Fri Jul 22 10:24:03 2016

[interpreter] Add a register operand to ToNumber

ToNumber's result is always directly stored to a register using a Star
bytecode. Fuse it into ToNumber.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2165953002
Cr-Commit-Position: refs/heads/master@{#37976}

[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/bytecodes.h
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/interpreter.cc
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/src/interpreter/interpreter.h
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
[modify] https://crrev.com/220284638e719b67d586da10983e2006942c7040/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 413 by bugdroid1@chromium.org, Jul 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a474e84181fb6b19cc8c48cab29d670bf6302ab7

commit a474e84181fb6b19cc8c48cab29d670bf6302ab7
Author: rmcilroy <rmcilroy@chromium.org>
Date: Mon Jul 25 09:42:48 2016

[Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode

Always use the BytecodeGraphBuilder when the  --turbo-from-bytecode
is enabled, assuming the function should be compiled for Ignition.
Adds a new MaybeOptimizeIgnition function to runtime-profiler
which is called if the function should be optimized from bytecode
rather than going via full-codegen.

BUG=v8:4280

Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4
Review-Url: https://codereview.chromium.org/2156753002
Cr-Original-Commit-Position: refs/heads/master@{#37921}
Cr-Commit-Position: refs/heads/master@{#38002}

[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/src/compiler.cc
[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/src/compiler.h
[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/src/runtime-profiler.cc
[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/src/runtime-profiler.h
[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/test/cctest/cctest.status
[modify] https://crrev.com/a474e84181fb6b19cc8c48cab29d670bf6302ab7/test/cctest/compiler/function-tester.h

Project Member

Comment 414 by bugdroid1@chromium.org, Jul 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/63ea19baa0c906e54ba18bd1311e53f9b0cc8874

commit 63ea19baa0c906e54ba18bd1311e53f9b0cc8874
Author: klaasb <klaasb@google.com>
Date: Mon Jul 25 12:51:39 2016

[interpreter] Add output register to ToName

ToName was always generated with a subsequent Star, fuse them.
Requires a few changes in the peephole optimizer as ToName cannot be
elided as easily, but must be replaced by Star.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2169813002
Cr-Commit-Position: refs/heads/master@{#38019}

[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecode-pipeline.h
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecodes.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/bytecodes.h
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/interpreter.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/63ea19baa0c906e54ba18bd1311e53f9b0cc8874/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 415 by bugdroid1@chromium.org, Jul 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/31eefa438ad2777de69010c37a6e99786c2b3fb3

commit 31eefa438ad2777de69010c37a6e99786c2b3fb3
Author: oth <oth@chromium.org>
Date: Wed Jul 27 13:27:55 2016

[interpreter] Use ForInFilter stub.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2187713004
Cr-Commit-Position: refs/heads/master@{#38100}

[modify] https://crrev.com/31eefa438ad2777de69010c37a6e99786c2b3fb3/src/interpreter/interpreter.cc

Blockedon: 5251
Project Member

Comment 417 by bugdroid1@chromium.org, Aug 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5bc243978396ab902f115e49aff2cf4bcb5d8a4c

commit 5bc243978396ab902f115e49aff2cf4bcb5d8a4c
Author: klaasb <klaasb@google.com>
Date: Mon Aug 01 19:26:46 2016

Make FastNewFunctionContextStub take slots parameter

This will enable the interpreter to add a bytecode and use the stub.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2177273002
Cr-Commit-Position: refs/heads/master@{#38219}

[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/code-factory.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/code-factory.h
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/code-stubs.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/code-stubs.h
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/arm/lithium-codegen-arm.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/arm64/lithium-codegen-arm64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/ia32/lithium-codegen-ia32.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/mips/lithium-codegen-mips.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/mips64/lithium-codegen-mips64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/crankshaft/x64/lithium-codegen-x64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/arm/full-codegen-arm.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/arm64/full-codegen-arm64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/ia32/full-codegen-ia32.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/mips/full-codegen-mips.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/mips64/full-codegen-mips64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/full-codegen/x64/full-codegen-x64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/interface-descriptors.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/interface-descriptors.h
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/5bc243978396ab902f115e49aff2cf4bcb5d8a4c/src/x64/interface-descriptors-x64.cc

Project Member

Comment 419 by bugdroid1@chromium.org, Aug 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8097eeb9f2a222540d5745d769290d65e38e7f05

commit 8097eeb9f2a222540d5745d769290d65e38e7f05
Author: klaasb <klaasb@google.com>
Date: Wed Aug 03 14:41:47 2016

[interpreter] Add CreateFunctionContext bytecode

Add a new bytecode to create a function context. The handler inlines
FastNewFunctionContextStub.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2187523002
Cr-Commit-Position: refs/heads/master@{#38301}

[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/code-stubs.cc
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/code-stubs.h
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/interpreter/bytecodes.h
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/src/interpreter/interpreter.cc
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/ContextParameters.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/CreateArguments.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/Delete.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/Eval.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
[modify] https://crrev.com/8097eeb9f2a222540d5745d769290d65e38e7f05/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 420 by bugdroid1@chromium.org, Aug 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c

commit 9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c
Author: mythria <mythria@chromium.org>
Date: Fri Aug 05 09:57:45 2016

[Interpreter] Collect type feedback for 'new' in the bytecode handler

Collect type feedback in the bytecode handler for 'new' bytecode. The
earlier cl (https://codereview.chromium.org/2153433002/) was reverted
because that implementation did not collect allocation site feedback.
This regressed delta blue by an order of magnitude. This implementation
includes collection of allocation site feedback.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2190293003
Cr-Commit-Position: refs/heads/master@{#38364}

[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/builtins-interpreter.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/builtins.h
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/code-factory.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/code-factory.h
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/bytecodes.h
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/interpreter/interpreter.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/src/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/cctest/cctest.status
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/mjsunit/mjsunit.status
[modify] https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 421 by bugdroid1@chromium.org, Aug 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dea16c9a42d54057efac159d6bced8e26e2c4a94

commit dea16c9a42d54057efac159d6bced8e26e2c4a94
Author: machenbach <machenbach@chromium.org>
Date: Fri Aug 05 10:33:12 2016

Revert of [Interpreter] Collect type feedback for 'new' in the bytecode handler (patchset #6 id:100001 of https://codereview.chromium.org/2190293003/ )

Reason for revert:
[Sheriff] Fails on nosnap debug:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/8403

Original issue's description:
> [Interpreter] Collect type feedback for 'new' in the bytecode handler
>
> Collect type feedback in the bytecode handler for 'new' bytecode. The
> earlier cl (https://codereview.chromium.org/2153433002/) was reverted
> because that implementation did not collect allocation site feedback.
> This regressed delta blue by an order of magnitude. This implementation
> includes collection of allocation site feedback.
>
> BUG=v8:4280, v8:4780
> LOG=N
>
> Committed: https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c
> Cr-Commit-Position: refs/heads/master@{#38364}

TBR=bmeurer@chromium.org,rmcilroy@chromium.org,balazs.kilvady@imgtec.com,mythria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280, v8:4780

Review-Url: https://codereview.chromium.org/2212343002
Cr-Commit-Position: refs/heads/master@{#38368}

[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/builtins-interpreter.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/builtins.h
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/code-factory.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/code-factory.h
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/bytecodes.h
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/interpreter/interpreter.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/src/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/cctest/cctest.status
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/mjsunit/mjsunit.status
[modify] https://crrev.com/dea16c9a42d54057efac159d6bced8e26e2c4a94/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 422 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9e3e2ee2dd033965606213ad6f721425cb1f02a6

commit 9e3e2ee2dd033965606213ad6f721425cb1f02a6
Author: mythria <mythria@chromium.org>
Date: Mon Aug 08 01:15:22 2016

[Interpreter] Assign feedback slots for binary operations and use them in ignition.

Assign feedback slots in the type feedback vector for binary operations.
Update bytecode-generator to use these slots and add them as an operand
to binary operations.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2209633002
Cr-Commit-Position: refs/heads/master@{#38408}

[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/ast/ast-numbering.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/ast/ast.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/ast/ast.h
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/src/interpreter/bytecodes.h
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/DoExpression.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/ForIn.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/PrimitiveExpressions.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/interpreter/test-interpreter.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/cctest/test-feedback-vector.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/unittests/interpreter/bytecode-array-iterator-unittest.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
[modify] https://crrev.com/9e3e2ee2dd033965606213ad6f721425cb1f02a6/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 423 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2bf0b8c8ed5d0c93982c8c227e93622aceecea16

commit 2bf0b8c8ed5d0c93982c8c227e93622aceecea16
Author: oth <oth@chromium.org>
Date: Mon Aug 08 09:06:58 2016

[interpreter] Inline ForInFilter stub.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2220343002
Cr-Commit-Position: refs/heads/master@{#38420}

[modify] https://crrev.com/2bf0b8c8ed5d0c93982c8c227e93622aceecea16/src/interpreter/interpreter.cc

Project Member

Comment 424 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/01e657d42fc926dd5cea9c58e1bbac96d84d54be

commit 01e657d42fc926dd5cea9c58e1bbac96d84d54be
Author: rmcilroy <rmcilroy@chromium.org>
Date: Mon Aug 08 09:15:26 2016

[Interpreter] Inline FastCloneRegExpStub to CreateRegExpLiteral bytecode handler.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2217193002
Cr-Commit-Position: refs/heads/master@{#38422}

[modify] https://crrev.com/01e657d42fc926dd5cea9c58e1bbac96d84d54be/src/code-stubs.cc
[modify] https://crrev.com/01e657d42fc926dd5cea9c58e1bbac96d84d54be/src/code-stubs.h
[modify] https://crrev.com/01e657d42fc926dd5cea9c58e1bbac96d84d54be/src/interpreter/interpreter.cc

Blockedon: 5273
Project Member

Comment 426 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/bbd0a093ca770daa286ea9469c5c851bb8230b9c

commit bbd0a093ca770daa286ea9469c5c851bb8230b9c
Author: rmcilroy <rmcilroy@chromium.org>
Date: Fri Aug 12 14:00:08 2016

Revert of [interpreter] Inline ForInFilter stub. (patchset #1 id:1 of https://codereview.chromium.org/2220343002/ )

Reason for revert:
Speculative revert to possible performance regressions.

BUG=chromium:635826,chromium:635930

Original issue's description:
> [interpreter] Inline ForInFilter stub.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/2bf0b8c8ed5d0c93982c8c227e93622aceecea16
> Cr-Commit-Position: refs/heads/master@{#38420}

TBR=oth@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2238283002
Cr-Commit-Position: refs/heads/master@{#38623}

[modify] https://crrev.com/bbd0a093ca770daa286ea9469c5c851bb8230b9c/src/interpreter/interpreter.cc

Project Member

Comment 427 by bugdroid1@chromium.org, Aug 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/935340a4c51bc35f472cef4a1d978882e3040c98

commit 935340a4c51bc35f472cef4a1d978882e3040c98
Author: klaasb <klaasb@google.com>
Date: Mon Aug 15 13:10:41 2016

[interpreter] VisitForTest for bytecode generator

Adds TestResultScope and uses it to directly jump/fall through to the
correct branch in expressions used as branch conditions.
Should enable nicer TurboFan-graphs for easier control-flow
transformations in the future.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2242463002
Cr-Commit-Position: refs/heads/master@{#38634}

[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/BUILD.gn
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/src/interpreter/bytecode-generator.h
[add] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/src/interpreter/bytecode-label.cc
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/src/interpreter/bytecode-label.h
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/src/v8.gyp
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/bytecode_expectations/Conditional.golden
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/bytecode_expectations/IfConditions.golden
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/interpreter/test-bytecode-generator.cc
[modify] https://crrev.com/935340a4c51bc35f472cef4a1d978882e3040c98/test/cctest/test-func-name-inference.cc

Project Member

Comment 428 by bugdroid1@chromium.org, Aug 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b07444b16f4c4462fe72abe811ee354ea2dde266

commit b07444b16f4c4462fe72abe811ee354ea2dde266
Author: klaasb <klaasb@google.com>
Date: Tue Aug 16 11:07:21 2016

[interpreter] Add CreateBlockContext bytecode

Allows us to create a corresponding TurboFan node, so TF can
optimize it.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2248633002
Cr-Commit-Position: refs/heads/master@{#38651}

[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/interpreter/bytecodes.h
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/src/interpreter/interpreter.cc
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/b07444b16f4c4462fe72abe811ee354ea2dde266/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 430 by bugdroid1@chromium.org, Aug 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/188ea8c5410bec100723bbf231c6b99ec50e41cc

commit 188ea8c5410bec100723bbf231c6b99ec50e41cc
Author: klaasb <klaasb@google.com>
Date: Thu Aug 18 16:51:11 2016

[interpreter] Add CreateCatchContext bytecode

One more bytecode to pass info through to TurboFan.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2260473003
Cr-Commit-Position: refs/heads/master@{#38726}

[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/interpreter/bytecodes.h
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/src/interpreter/interpreter.cc
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/test/cctest/interpreter/bytecode_expectations/TryCatch.golden
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/test/cctest/interpreter/bytecode_expectations/TryFinally.golden
[modify] https://crrev.com/188ea8c5410bec100723bbf231c6b99ec50e41cc/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 431 by bugdroid1@chromium.org, Aug 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e4c67d3f7042eca64c6146673f7717b079f4ff88

commit e4c67d3f7042eca64c6146673f7717b079f4ff88
Author: klaasb <klaasb@google.com>
Date: Fri Aug 19 09:21:38 2016

[interpreter] Use VisitForTest for loop conditions

Changes the control flow builder classes to make use of the
BytecodeLabels helper class.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2254493002
Cr-Commit-Position: refs/heads/master@{#38744}

[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/compiler/bytecode-loop-analysis.cc
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/compiler/bytecode-loop-analysis.h
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/interpreter/bytecode-label.cc
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/interpreter/bytecode-label.h
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/interpreter/control-flow-builders.cc
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/src/interpreter/control-flow-builders.h
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/test/cctest/compiler/test-run-bytecode-graph-builder.cc
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/test/cctest/interpreter/bytecode_expectations/DoExpression.golden
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/e4c67d3f7042eca64c6146673f7717b079f4ff88/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden

Project Member

Comment 432 by bugdroid1@chromium.org, Aug 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5e08f43531b5f2d8577c6e523c49911b2347db66

commit 5e08f43531b5f2d8577c6e523c49911b2347db66
Author: mstarzinger <mstarzinger@chromium.org>
Date: Tue Aug 23 07:40:51 2016

[interpreter] Allow mixed stacks if bytecode is preserved.

This changes the compilation pipeline so that mixed stacks are allowed
when bytecode is preserved. This means there can be activations of both,
"baseline" as well as "unoptimized" code active on the stack at the same
time for any single given function.

R=rmcilroy@chromium.org
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2267693002
Cr-Commit-Position: refs/heads/master@{#38809}

[modify] https://crrev.com/5e08f43531b5f2d8577c6e523c49911b2347db66/src/compiler.cc
[modify] https://crrev.com/5e08f43531b5f2d8577c6e523c49911b2347db66/test/cctest/test-compiler.cc

Project Member

Comment 433 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b6b89ace1fded16dd2901e2de16b0346aeb3e5a

commit 6b6b89ace1fded16dd2901e2de16b0346aeb3e5a
Author: rmcilroy <rmcilroy@chromium.org>
Date: Thu Aug 25 15:12:57 2016

[tools/perf] Add CodeAndMetadata metrics to v8_browsing benchmarks and add Ignition variants

Adds CodeAndMetadata measurements to the v8_browsing telemetry benchmarks.
Modifes the memory dumper to dump these stats on light dumps, if requested.
Also adds an Ignition variant for v8_browsing benchmarks.

BUG=v8:4280,v8:5019
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.perf:android_s5_perf_cq;master.tryserver.chromium.perf:linux_perf_cq;master.tryserver.chromium.perf:mac_retina_perf_cq;

Review-Url: https://codereview.chromium.org/2257173003
Cr-Commit-Position: refs/heads/master@{#414439}

[modify] https://crrev.com/6b6b89ace1fded16dd2901e2de16b0346aeb3e5a/gin/v8_isolate_memory_dump_provider.cc
[modify] https://crrev.com/6b6b89ace1fded16dd2901e2de16b0346aeb3e5a/tools/perf/benchmarks/v8_browsing.py

Project Member

Comment 434 by bugdroid1@chromium.org, Sep 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7e5b8feed307288d602c11cb4fb1184cbbc21d5a

commit 7e5b8feed307288d602c11cb4fb1184cbbc21d5a
Author: mythria <mythria@chromium.org>
Date: Fri Sep 02 08:26:36 2016

[Interpreter] Collect type feedback for 'new' in the bytecode handler

Collect type feedback in the bytecode handler for 'new' bytecode. The
earlier cl (https://codereview.chromium.org/2153433002/) was reverted
because that implementation did not collect allocation site feedback.
This regressed delta blue by an order of magnitude. This implementation
includes collection of allocation site feedback.

Reland of https://codereview.chromium.org/2190293003/ with a bug fix.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2225923003
Cr-Commit-Position: refs/heads/master@{#39120}

[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/builtins-interpreter.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/builtins.h
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/code-factory.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/code-factory.h
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/bytecodes.h
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/interpreter/interpreter.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/src/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/cctest/cctest.status
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/mjsunit/mjsunit.status
[modify] https://crrev.com/7e5b8feed307288d602c11cb4fb1184cbbc21d5a/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 435 by bugdroid1@chromium.org, Sep 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1d2ab6e0bd520087902ebdea68466f175add2468

commit 1d2ab6e0bd520087902ebdea68466f175add2468
Author: bjaideep <bjaideep@ca.ibm.com>
Date: Fri Sep 02 14:55:01 2016

PPC/s390: [Interpreter] Collect type feedback for 'new' in the bytecode handler

Port 7e5b8feed307288d602c11cb4fb1184cbbc21d5a

Original commit message:

    Collect type feedback in the bytecode handler for 'new' bytecode. The
    earlier cl (https://codereview.chromium.org/2153433002/) was reverted
    because that implementation did not collect allocation site feedback.
    This regressed delta blue by an order of magnitude. This implementation
    includes collection of allocation site feedback.

    Reland of https://codereview.chromium.org/2190293003/ with a bug fix.

R=mythria@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2302343002
Cr-Commit-Position: refs/heads/master@{#39138}

[modify] https://crrev.com/1d2ab6e0bd520087902ebdea68466f175add2468/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/1d2ab6e0bd520087902ebdea68466f175add2468/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/1d2ab6e0bd520087902ebdea68466f175add2468/src/ppc/interface-descriptors-ppc.cc
[modify] https://crrev.com/1d2ab6e0bd520087902ebdea68466f175add2468/src/s390/interface-descriptors-s390.cc

Comment 436 by oth@chromium.org, Sep 2 2016

Cc: -oth@chromium.org
Project Member

Comment 437 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/119f311245e09bd7515697d27921fd60d9e58424

commit 119f311245e09bd7515697d27921fd60d9e58424
Author: mythria <mythria@chromium.org>
Date: Wed Sep 07 09:05:44 2016

[Interpreter] Enable allocation site mementos in CreateArrayLiterals.

In ignition, allocation site mementos were disabled when creating array
literals. Enabled them in this cl.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2294913006
Cr-Commit-Position: refs/heads/master@{#39234}

[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/cctest.status
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/ForIn.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/119f311245e09bd7515697d27921fd60d9e58424/test/mjsunit/mjsunit.status

Project Member

Comment 438 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a31a1aaeb51182e61a48834591ec64d858ad9bf1

commit a31a1aaeb51182e61a48834591ec64d858ad9bf1
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Sep 07 13:36:01 2016

[tools/perf] Remove top_10_mobile_memory[_ignition] benchmark.

This has now been replaced by the v8.browsing benchmark.

BUG=v8:4280,v8:5019
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.perf:android_s5_perf_cq;master.tryserver.chromium.perf:linux_perf_cq;master.tryserver.chromium.perf:mac_retina_perf_cq;master.tryserver.chromium.perf:winx64_10_perf_cq

Review-Url: https://codereview.chromium.org/2313723002
Cr-Commit-Position: refs/heads/master@{#416926}

[modify] https://crrev.com/a31a1aaeb51182e61a48834591ec64d858ad9bf1/tools/perf/benchmarks/v8.py

Project Member

Comment 439 by bugdroid1@chromium.org, Sep 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9a31162d9d3137d09063d6040865655b2e386384

commit 9a31162d9d3137d09063d6040865655b2e386384
Author: mythria <mythria@chromium.org>
Date: Thu Sep 08 14:49:24 2016

[Interpreter] Collect allocation site feedback in call bytecode handler.

Adds support to collect allocation site feedback for Array function calls
to the call bytecode handler.

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2307903002
Cr-Commit-Position: refs/heads/master@{#39283}

[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/builtins.h
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/code-factory.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/code-factory.h
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/interface-descriptors.h
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/src/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/test/cctest/cctest.status
[modify] https://crrev.com/9a31162d9d3137d09063d6040865655b2e386384/test/mjsunit/mjsunit.status

Project Member

Comment 440 by bugdroid1@chromium.org, Sep 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/05652917840878774ef1b23869212228ad6aeea4

commit 05652917840878774ef1b23869212228ad6aeea4
Author: bjaideep <bjaideep@ca.ibm.com>
Date: Thu Sep 08 21:37:43 2016

PPC/s390: [Interpreter] Collect allocation site feedback in call bytecode handler.

Port 9a31162d9d3137d09063d6040865655b2e386384

Original commit message:

    Adds support to collect allocation site feedback for Array function calls
    to the call bytecode handler.

R=mythria@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:4280, v8:4780
LOG=N

Review-Url: https://codereview.chromium.org/2319913004
Cr-Commit-Position: refs/heads/master@{#39298}

[modify] https://crrev.com/05652917840878774ef1b23869212228ad6aeea4/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/05652917840878774ef1b23869212228ad6aeea4/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/05652917840878774ef1b23869212228ad6aeea4/src/ppc/interface-descriptors-ppc.cc
[modify] https://crrev.com/05652917840878774ef1b23869212228ad6aeea4/src/s390/interface-descriptors-s390.cc

Blockedon: 5384
Project Member

Comment 443 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5deb0bc15788e2d553a720ce53b1ab3401823779

commit 5deb0bc15788e2d553a720ce53b1ab3401823779
Author: klaasb <klaasb@google.com>
Date: Tue Sep 20 18:04:20 2016

[interpreter] Inline FastCloneShallowArrayStub into bytecode handler

The CreateArrayLiteral bytecode handler now directly inlines the FastCloneShallowArrayStub.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2341743003
Cr-Commit-Position: refs/heads/master@{#39562}

[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/code-stubs.cc
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/code-stubs.h
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/interpreter/bytecode-flags.cc
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/interpreter/bytecode-flags.h
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/src/interpreter/interpreter.cc
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/ForIn.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/5deb0bc15788e2d553a720ce53b1ab3401823779/test/cctest/interpreter/bytecode_expectations/Generators.golden

Project Member

Comment 444 by bugdroid1@chromium.org, Sep 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64

commit b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Sep 21 15:02:32 2016

[Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter.

This CL optimizes the code in BytecodeArrayBuilder and
BytecodeArrayWriter by making the following main changes:

 - Move operand scale calculation out of BytecodeArrayWriter to the
BytecodeNode constructor, where the decision on which operands are
scalable can generally be statically decided by the compiler.
 - Move the maximum register calculation out of BytecodeArrayWriter
and into BytecodeRegisterOptimizer (which is the only place outside
BytecodeGenerator which updates which registers are used). This
avoids the BytecodeArrayWriter needing to know the operand types
of a node as it writes it.
 - Modify EmitBytecodes to use individual push_backs rather than
building a buffer and calling insert, since this turns out to be faster.
 - Initialize BytecodeArrayWriter's bytecode vector by reserving 512
bytes,
 - Make common functions in Bytecodes constexpr so that they
can be statically calculated by the compiler.
 - Move common functions and constructors in Bytecodes and
BytecodeNode to the header so that they can be inlined.
 - Change large static switch statements in Bytecodes to const array
lookups, and move to the header to allow inlining.

I also took the opportunity to remove a number of unused helper
functions, and rework some others for consistency.

This reduces the percentage of time spent in making BytecodeArrays
 in  CodeLoad from ~15% to ~11% according to perf. The
CoadLoad score increase by around 2%.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2351763002
Cr-Commit-Position: refs/heads/master@{#39599}

[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/BUILD.gn
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-array-writer.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-array-writer.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-dead-code-optimizer.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-dead-code-optimizer.h
[add] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-operands.cc
[add] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-operands.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-peephole-optimizer.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-pipeline.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-pipeline.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-register-optimizer.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecode-traits.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecodes.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/interpreter/bytecodes.h
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/src/v8.gyp
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecode-array-writer-unittest.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecode-pipeline-unittest.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
[modify] https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64/test/unittests/interpreter/bytecodes-unittest.cc

Project Member

Comment 445 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5d693348f062ac3e2efc0111d2b4123e6c2d571d

commit 5d693348f062ac3e2efc0111d2b4123e6c2d571d
Author: hablich <hablich@chromium.org>
Date: Thu Sep 22 05:53:14 2016

Revert of [Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter. (patchset #6 id:200001 of https://codereview.chromium.org/2351763002/ )

Reason for revert:
Prime suspect for roll blocker: https://codereview.chromium.org/2362503002/

Original issue's description:
> [Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter.
>
> This CL optimizes the code in BytecodeArrayBuilder and
> BytecodeArrayWriter by making the following main changes:
>
>  - Move operand scale calculation out of BytecodeArrayWriter to the
> BytecodeNode constructor, where the decision on which operands are
> scalable can generally be statically decided by the compiler.
>  - Move the maximum register calculation out of BytecodeArrayWriter
> and into BytecodeRegisterOptimizer (which is the only place outside
> BytecodeGenerator which updates which registers are used). This
> avoids the BytecodeArrayWriter needing to know the operand types
> of a node as it writes it.
>  - Modify EmitBytecodes to use individual push_backs rather than
> building a buffer and calling insert, since this turns out to be faster.
>  - Initialize BytecodeArrayWriter's bytecode vector by reserving 512
> bytes,
>  - Make common functions in Bytecodes constexpr so that they
> can be statically calculated by the compiler.
>  - Move common functions and constructors in Bytecodes and
> BytecodeNode to the header so that they can be inlined.
>  - Change large static switch statements in Bytecodes to const array
> lookups, and move to the header to allow inlining.
>
> I also took the opportunity to remove a number of unused helper
> functions, and rework some others for consistency.
>
> This reduces the percentage of time spent in making BytecodeArrays
>  in  CodeLoad from ~15% to ~11% according to perf. The
> CoadLoad score increase by around 2%.
>
> BUG=v8:4280
>
> Committed: https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64
> Cr-Commit-Position: refs/heads/master@{#39599}

TBR=mythria@chromium.org,leszeks@chromium.org,rmcilroy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2360193003
Cr-Commit-Position: refs/heads/master@{#39612}

[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/BUILD.gn
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-array-writer.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-array-writer.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-dead-code-optimizer.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-dead-code-optimizer.h
[delete] https://crrev.com/a041367ef5f0e20db83a750e3ed1491482ac5942/src/interpreter/bytecode-operands.cc
[delete] https://crrev.com/a041367ef5f0e20db83a750e3ed1491482ac5942/src/interpreter/bytecode-operands.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-peephole-optimizer.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-pipeline.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-pipeline.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-register-optimizer.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecode-traits.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecodes.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/interpreter/bytecodes.h
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/src/v8.gyp
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecode-array-writer-unittest.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecode-pipeline-unittest.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
[modify] https://crrev.com/5d693348f062ac3e2efc0111d2b4123e6c2d571d/test/unittests/interpreter/bytecodes-unittest.cc

Blockedon: 5418
Project Member

Comment 447 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45

commit e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45
Author: rmcilroy <rmcilroy@chromium.org>
Date: Thu Sep 22 16:34:16 2016

[Interpreter] Optimize BytecodeArrayBuilder and BytecodeArrayWriter.

This CL optimizes the code in BytecodeArrayBuilder and
BytecodeArrayWriter by making the following main changes:

 - Move operand scale calculation out of BytecodeArrayWriter to the
BytecodeNode constructor, where the decision on which operands are
scalable can generally be statically decided by the compiler.
 - Move the maximum register calculation out of BytecodeArrayWriter
and into BytecodeRegisterOptimizer (which is the only place outside
BytecodeGenerator which updates which registers are used). This
avoids the BytecodeArrayWriter needing to know the operand types
of a node as it writes it.
 - Modify EmitBytecodes to use individual push_backs rather than
building a buffer and calling insert, since this turns out to be faster.
 - Initialize BytecodeArrayWriter's bytecode vector by reserving 512
bytes,
 - Make common functions in Bytecodes constexpr so that they
can be statically calculated by the compiler.
 - Move common functions and constructors in Bytecodes and
BytecodeNode to the header so that they can be inlined.
 - Change large static switch statements in Bytecodes to const array
lookups, and move to the header to allow inlining.

I also took the opportunity to remove a number of unused helper
functions, and rework some others for consistency.

This reduces the percentage of time spent in making BytecodeArrays
 in  CodeLoad from ~15% to ~11% according to perf. The
CoadLoad score increase by around 2%.

BUG=v8:4280

Committed: https://crrev.com/b11a8b4d41bf09d6b3d6cf214fe3fb61faf01a64
Review-Url: https://codereview.chromium.org/2351763002
Cr-Original-Commit-Position: refs/heads/master@{#39599}
Cr-Commit-Position: refs/heads/master@{#39637}

[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/BUILD.gn
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-array-writer.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-array-writer.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-dead-code-optimizer.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-dead-code-optimizer.h
[add] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-operands.cc
[add] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-operands.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-peephole-optimizer.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-pipeline.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-pipeline.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-register-optimizer.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecode-traits.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecodes.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/interpreter/bytecodes.h
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/src/v8.gyp
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecode-array-writer-unittest.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecode-pipeline-unittest.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
[modify] https://crrev.com/e5ac75c6354f6dbe0fbe217f857750ab9fb0bd45/test/unittests/interpreter/bytecodes-unittest.cc

Project Member

Comment 448 by bugdroid1@chromium.org, Sep 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3200fafa5fcf70c21304e735502040ccf3af2662

commit 3200fafa5fcf70c21304e735502040ccf3af2662
Author: klaasb <klaasb@google.com>
Date: Fri Sep 23 15:30:18 2016

[interpreter] Compute and use type info percentage

Previously we would not have a total count of ICs when interpreting and
thus the check for sufficient type info would always succeed.
Also use the optimization checks for OSR while waiting for baseline
compilation and refactor the check.

BUG=v8:4280
BUG=chromium:634884

Review-Url: https://codereview.chromium.org/2360913003
Cr-Commit-Position: refs/heads/master@{#39677}

[modify] https://crrev.com/3200fafa5fcf70c21304e735502040ccf3af2662/src/runtime-profiler.cc
[modify] https://crrev.com/3200fafa5fcf70c21304e735502040ccf3af2662/src/runtime-profiler.h
[modify] https://crrev.com/3200fafa5fcf70c21304e735502040ccf3af2662/src/type-feedback-vector-inl.h
[modify] https://crrev.com/3200fafa5fcf70c21304e735502040ccf3af2662/src/type-feedback-vector.h

Project Member

Comment 449 by bugdroid1@chromium.org, Sep 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/245e5b323c5f388187785004776dae0eae3c3f89

commit 245e5b323c5f388187785004776dae0eae3c3f89
Author: mythria <mythria@chromium.org>
Date: Tue Sep 27 08:03:20 2016

[Ignition] Use binary operation feedback from Ignition to Crankshaft.

Ignition collects type feedback for binary and compare operations in type
feedback vector and FCG uses Binary/CompareOpICs to collect type feedback.
The feedback collected by ignition is not used by crankshaft. This hits the
performance, when trying to optimize functions that did not tier upto FCG.
This cl merges the feedback collected by ignition and FCG when passing to
crankshaft.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2361043002
Cr-Commit-Position: refs/heads/master@{#39753}

[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/src/crankshaft/typing.cc
[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/src/type-feedback-vector-inl.h
[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/src/type-info.cc
[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/src/type-info.h
[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/test/cctest/cctest.status
[modify] https://crrev.com/245e5b323c5f388187785004776dae0eae3c3f89/test/mjsunit/mjsunit.status

Project Member

Comment 450 by bugdroid1@chromium.org, Sep 30 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17

commit 27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17
Author: rmcilroy <rmcilroy@chromium.org>
Date: Fri Sep 30 09:02:59 2016

[Interpreter] Replace BytecodeRegisterAllocator with a simple bump pointer.

There are only a few occasions where we allocate a register in an outer
expression allocation scope, which makes the costly free-list approach
of the BytecodeRegisterAllocator unecessary. This CL replaces all
occurrences with moves to the accumulator and stores to a register
allocated in the correct scope. By doing this, we can simplify the
BytecodeRegisterAllocator to be a simple bump-pointer allocator
with registers released in the same order as allocated.

The following changes are also made:
 - Make BytecodeRegisterOptimizer able to use registers which have been
   unallocated, but not yet reused
 - Remove RegisterExpressionResultScope and rename
   AccumulatorExpressionResultScope to ValueExpressionResultScope
 - Introduce RegisterList to represent consecutive register
   allocations, and use this for operands to call bytecodes.

By avoiding the free-list handling, this gives another couple of
percent on CodeLoad.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2369873002
Cr-Commit-Position: refs/heads/master@{#39905}

[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/BUILD.gn
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-generator.h
[delete] https://crrev.com/ee605756b3b92f4b3b23874eef8eed276271a8eb/src/interpreter/bytecode-register-allocator.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-register-allocator.h
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/bytecode-register-optimizer.h
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/src/v8.gyp
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/Eval.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/ForIn.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/bytecode_expectations/WithStatement.golden
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/test-interpreter-intrinsics.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/cctest/interpreter/test-interpreter.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/unittests/interpreter/bytecode-array-iterator-unittest.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/unittests/interpreter/bytecode-register-allocator-unittest.cc
[modify] https://crrev.com/27fe988b85e9b0b77eb5c376d4bdd1350dfc3e17/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc

Project Member

Comment 451 by bugdroid1@chromium.org, Oct 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/479e8f2346f6fd936a4b0f22319676f3ea424fd6

commit 479e8f2346f6fd936a4b0f22319676f3ea424fd6
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Oct 05 16:14:12 2016

[Interpreter]: Add kRegList operand type for register list operands.

Also get rid of useless kMaybeReg type.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2382273002
Cr-Commit-Position: refs/heads/master@{#40001}

[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-array-iterator.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-decoder.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-decoder.h
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-operands.h
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-register-allocator.h
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-register.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecode-register.h
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/src/interpreter/bytecodes.h
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/test/unittests/interpreter/bytecode-decoder-unittest.cc
[modify] https://crrev.com/479e8f2346f6fd936a4b0f22319676f3ea424fd6/test/unittests/interpreter/interpreter-assembler-unittest.cc

Project Member

Comment 454 by bugdroid1@chromium.org, Oct 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/853e176f29fa2cb479dd6ddfebedb00a8d5dbeea

commit 853e176f29fa2cb479dd6ddfebedb00a8d5dbeea
Author: mythria <mythria@chromium.org>
Date: Mon Oct 10 16:38:56 2016

Revert of [Interpreter] Collect feedback about Oddballs in Subtract Stub. (patchset #2 id:20001 of https://codereview.chromium.org/2406843002/ )

Reason for revert:
breaks win32-debug bot.

Original issue's description:
> [Interpreter] Collect feedback about Oddballs in Subtract Stub.
>
> BUG=v8:4280, v8:5400
> LOG=N
>
> Committed: https://crrev.com/d5d283b27d406486e2f8d7b44c6d2b3db4f98458
> Cr-Commit-Position: refs/heads/master@{#40124}

TBR=leszeks@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280, v8:5400

Review-Url: https://codereview.chromium.org/2407923002
Cr-Commit-Position: refs/heads/master@{#40128}

[modify] https://crrev.com/853e176f29fa2cb479dd6ddfebedb00a8d5dbeea/src/code-stubs.cc
[modify] https://crrev.com/853e176f29fa2cb479dd6ddfebedb00a8d5dbeea/src/globals.h
[modify] https://crrev.com/853e176f29fa2cb479dd6ddfebedb00a8d5dbeea/src/type-feedback-vector-inl.h
[modify] https://crrev.com/853e176f29fa2cb479dd6ddfebedb00a8d5dbeea/src/type-info.cc

Project Member

Comment 455 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/65716011492fce55475f6e57fc3e8d588afede88

commit 65716011492fce55475f6e57fc3e8d588afede88
Author: mythria <mythria@chromium.org>
Date: Tue Oct 11 12:41:50 2016

[Interpreter] Collect feedback about Oddballs in Subtract Stub.

Also include feedback about Oddballs when collecting the type feedback.
For now, Number and NumberOrOddball are collected separately
because crankshaft does not handle NumberOrOddballs consistently.
This should change once we fix crankshaft.

BUG=v8:4280, v8:5400
LOG=N

Committed: https://crrev.com/d5d283b27d406486e2f8d7b44c6d2b3db4f98458
Review-Url: https://codereview.chromium.org/2406843002
Cr-Original-Commit-Position: refs/heads/master@{#40124}
Cr-Commit-Position: refs/heads/master@{#40170}

[modify] https://crrev.com/65716011492fce55475f6e57fc3e8d588afede88/gypfiles/get_landmines.py
[modify] https://crrev.com/65716011492fce55475f6e57fc3e8d588afede88/src/code-stubs.cc
[modify] https://crrev.com/65716011492fce55475f6e57fc3e8d588afede88/src/globals.h
[modify] https://crrev.com/65716011492fce55475f6e57fc3e8d588afede88/src/type-feedback-vector-inl.h
[modify] https://crrev.com/65716011492fce55475f6e57fc3e8d588afede88/src/type-info.cc

Project Member

Comment 456 by bugdroid1@chromium.org, Oct 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6fa76d461bf0d74f214a872c5d884572dd58dc50

commit 6fa76d461bf0d74f214a872c5d884572dd58dc50
Author: mythria <mythria@chromium.org>
Date: Thu Oct 13 14:47:44 2016

[Interpreter] Print information about interpreted functions when tracing ics.

With --trace-ic flag, the function names and the source positions are
not shown for interpreted functions. Interpreted functions have an extra
frame built by bytecode handlers which has to be skipped to get the
interpreted function's frame. Also the code offsets are computed differently
for interpreted functions.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2405173007
Cr-Commit-Position: refs/heads/master@{#40274}

[modify] https://crrev.com/6fa76d461bf0d74f214a872c5d884572dd58dc50/src/frames.cc
[modify] https://crrev.com/6fa76d461bf0d74f214a872c5d884572dd58dc50/src/frames.h
[modify] https://crrev.com/6fa76d461bf0d74f214a872c5d884572dd58dc50/src/ic/ic.cc

Project Member

Comment 457 by bugdroid1@chromium.org, Oct 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/308788b3069703117a9004e64c06c26137c84263

commit 308788b3069703117a9004e64c06c26137c84263
Author: bmeurer <bmeurer@chromium.org>
Date: Tue Oct 18 12:01:05 2016

[ic] Unify CallIC feedback collection and handling.

Consistently collect CallIC feedback in fullcodegen and Ignition, even
for possibly direct eval calls, that were treated specially so far, for
no apparent reason. With the upcoming SharedFunctionInfo based CallIC
feedback, we might be able to even inline certain direct eval calls, if
they manage to hit the eval cache. More importantly, this patch
simplifies the collection and dealing with CallIC feedback (and as a
side effect fixes an inconsistency with feedback for super constructor
calls).

R=mvstanton@chromium.org, mythria@chromium.org
BUG=v8:2206,v8:4280,v8:5267

Review-Url: https://codereview.chromium.org/2426693002
Cr-Commit-Position: refs/heads/master@{#40397}

[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/ast/ast.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/ast/ast.h
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/crankshaft/typing.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/arm/full-codegen-arm.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/arm64/full-codegen-arm64.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/ia32/full-codegen-ia32.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/mips/full-codegen-mips.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/mips64/full-codegen-mips64.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/full-codegen/x64/full-codegen-x64.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/test/cctest/interpreter/bytecode_expectations/Eval.golden
[modify] https://crrev.com/308788b3069703117a9004e64c06c26137c84263/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden

Project Member

Comment 458 by bugdroid1@chromium.org, Oct 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d875e2cf800c2110d5588595835e4e524fc3616e

commit d875e2cf800c2110d5588595835e4e524fc3616e
Author: mythria <mythria@chromium.org>
Date: Tue Oct 18 16:34:50 2016

[Interpreter] Collect feedback about Oddballs in Add, Mul, Div, Modulus stubs.

Add support to collect feedback about oddballs in Add, Mul, Div and Modulus stubs.
Turbofan uses NumberOrOddball feedback to reduce the number of deoptimizations.

BUG=v8:4280, v8:5400
LOG=N

Review-Url: https://codereview.chromium.org/2406263002
Cr-Commit-Position: refs/heads/master@{#40407}

[modify] https://crrev.com/d875e2cf800c2110d5588595835e4e524fc3616e/src/code-stubs.cc

Project Member

Comment 459 by bugdroid1@chromium.org, Oct 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8a80c3b70fbfd5a7bec3ad3946bfd726d2262637

commit 8a80c3b70fbfd5a7bec3ad3946bfd726d2262637
Author: mythria <mythria@chromium.org>
Date: Thu Oct 20 12:43:15 2016

[Interpreter] Collect feedback about Oddballs in Bitwise, Inc, Dec operations.

Add support to collect feedback about oddballs for Bitwise binary operations and
Increment and decrement operations. For the case of Oddballs the code to convert
them to numbers is inlined into the handlers instead of calling the
NonNumberToNumber Stub.

BUG=v8:4280, v8:5400

Review-Url: https://chromiumcodereview.appspot.com/2407103003
Cr-Commit-Position: refs/heads/master@{#40468}

[modify] https://crrev.com/8a80c3b70fbfd5a7bec3ad3946bfd726d2262637/src/code-stubs.cc
[modify] https://crrev.com/8a80c3b70fbfd5a7bec3ad3946bfd726d2262637/src/interpreter/interpreter-assembler.cc

Project Member

Comment 460 by bugdroid1@chromium.org, Oct 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ed7bef5b91a70c8bed86e066726ca1cdfc777a96

commit ed7bef5b91a70c8bed86e066726ca1cdfc777a96
Author: rmcilroy <rmcilroy@chromium.org>
Date: Mon Oct 24 20:47:41 2016

[Interpreter] Optimize the Register Optimizer.

Modify the Bytecode Register Optimizer to be an independent component
rather than part of the BytecodePipeline. This means the BytecodeArrayBuilder
can explicitly call it with register operands when outputting a bytecode
and the Bytecode Register Optimizer doesn't need to work out which operands
are register operands. This also means we don't need to build BytecodeNodes
for Ldar / Star / Mov bytecodes unless they are actually emitted by the
optimizer.

This change also modifies the way the BytecodeArrayBuilder converts
operands to make use of the OperandTypes specified in bytecodes.h.
This avoids having to individually convert operands to their raw output
value before calling Output(...).

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2393683004
Cr-Commit-Position: refs/heads/master@{#40543}

[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-operands.h
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-pipeline.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-pipeline.h
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/src/interpreter/bytecode-register-optimizer.h
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecode-array-writer-unittest.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecode-dead-code-optimizer-unittest.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecode-pipeline-unittest.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc
[modify] https://crrev.com/ed7bef5b91a70c8bed86e066726ca1cdfc777a96/test/unittests/interpreter/bytecodes-unittest.cc

Project Member

Comment 461 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7db6c79acd6ccf45984275136e8c58c4be0f0fd9

commit 7db6c79acd6ccf45984275136e8c58c4be0f0fd9
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Oct 26 15:10:57 2016

[Interpreter] Don't require a CanonicalHandleScope for parse / renumbering

Removes the need for a CanonicalHandleScope for parsing and renumbering
phases when using Ignition. Since AST strings are canonicalized by the
AST value factory, we only need to make sure we use the same canonical
handles for any other handles we add to the bytecode generator.

This avoids a regression when enabling Ignition for all Turbofan code, and
improves CodeLoad on for Ignition by about 5%.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2448323004
Cr-Commit-Position: refs/heads/master@{#40595}

[modify] https://crrev.com/7db6c79acd6ccf45984275136e8c58c4be0f0fd9/src/api.cc
[modify] https://crrev.com/7db6c79acd6ccf45984275136e8c58c4be0f0fd9/src/compiler-dispatcher/compiler-dispatcher-job.cc
[modify] https://crrev.com/7db6c79acd6ccf45984275136e8c58c4be0f0fd9/src/compiler.cc
[modify] https://crrev.com/7db6c79acd6ccf45984275136e8c58c4be0f0fd9/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/7db6c79acd6ccf45984275136e8c58c4be0f0fd9/src/interpreter/bytecode-generator.h

Project Member

Comment 462 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/46a1b34e863aae2d67fc0c69c7bfd3e8b5fc967f

commit 46a1b34e863aae2d67fc0c69c7bfd3e8b5fc967f
Author: mythria <mythria@chromium.org>
Date: Wed Oct 26 16:32:29 2016

[Interpreter] Tune runtime profiler parameters for turbofan and OSR.

Turbofan requires a different tuning when compared to crankshaft. Crankshaft
typically has faster compilation times when compared to turbofan. Hence,
added a new parameter, so that crankshaft and turbofan can be tuned
independently.

OSRing too soon is not good for performance, especially for sunspider
benchmarks. Since they are really small functions and optimizing them is
more expensive than just executing unoptimized code. Tuning the code size
threshold of the functions that can be OSRed from ignition.

BUG=v8:4280,chromium:659111

Review-Url: https://codereview.chromium.org/2445203003
Cr-Commit-Position: refs/heads/master@{#40598}

[modify] https://crrev.com/46a1b34e863aae2d67fc0c69c7bfd3e8b5fc967f/src/interpreter/interpreter.h
[modify] https://crrev.com/46a1b34e863aae2d67fc0c69c7bfd3e8b5fc967f/src/runtime-profiler.cc

Blockedon: chromium:662063
Project Member

Comment 465 by bugdroid1@chromium.org, Nov 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1ec9526c7aa5cab8bedcc14ded49f3f2de72e37d

commit 1ec9526c7aa5cab8bedcc14ded49f3f2de72e37d
Author: mythria <mythria@chromium.org>
Date: Fri Nov 04 12:43:49 2016

[IC] IC::GetSharedFunctionInfo does not need to skip bytecode handler frames.

Some cleanup after the cl to fix --trace-ic to work with ignition
(https://codereview.chromium.org/2405173007/). In GetSharedFunctionInfo,
we used to skip the bytecode handler frame, which is no longer required.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2437593003
Cr-Commit-Position: refs/heads/master@{#40762}

[modify] https://crrev.com/1ec9526c7aa5cab8bedcc14ded49f3f2de72e37d/src/ic/ic.cc

Project Member

Comment 466 by bugdroid1@chromium.org, Nov 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/012198813420876f932af7132d652db5f0597670

commit 012198813420876f932af7132d652db5f0597670
Author: mstarzinger <mstarzinger@chromium.org>
Date: Fri Nov 04 16:08:36 2016

[compiler] Remove --ignition-preserve-bytecode flag.

This removes the deprecated flag in question which has been enabled by
default a while ago. All components can by now deal with activations of
a single function being mixed between Ignition and other compilers. The
maintenance overhead to support a mode that clears bytecode is no longer
warranted.

R=rmcilroy@chromium.org
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2475203003
Cr-Commit-Position: refs/heads/master@{#40776}

[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/builtins.h
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/builtins/x87/builtins-x87.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/compiler.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/flag-definitions.h
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/frames.cc
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/src/objects-inl.h
[modify] https://crrev.com/012198813420876f932af7132d652db5f0597670/test/cctest/test-compiler.cc

Project Member

Comment 467 by bugdroid1@chromium.org, Nov 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ed35983ab78ad52bce6ef37c74b4c1fd6e447525

commit ed35983ab78ad52bce6ef37c74b4c1fd6e447525
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Nov 09 13:16:01 2016

[Interpreter] Remove Ldr[Named/Keyed]Property bytecodes and use Star Lookahead instead.

The Ldr[Named/Keyed]Property bytecodes are problematic for the deoptimizer when
inlining accessors in TurboFan. Remove them and replace with a Star lookahead
in the bytecode handlers for Lda[Named/Keyed]Property.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2485383002
Cr-Commit-Position: refs/heads/master@{#40860}

[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/interpreter/bytecodes.cc
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/interpreter/bytecodes.h
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/interpreter/interpreter.cc
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/interpreter/interpreter.h
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/ForIn.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/ed35983ab78ad52bce6ef37c74b4c1fd6e447525/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 468 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f633218b62477e1b9bc585d412297908887b75b4

commit f633218b62477e1b9bc585d412297908887b75b4
Author: rmcilroy <rmcilroy@chromium.org>
Date: Thu Nov 10 10:41:48 2016

[Interpreter] Remove all Ldr style bytecodes and replace with Star lookahead.

We seem to get some small wins from avoiding the Ldr bytecodes, probably due
to reduced icache pressure since there are less bytecode handlers. Replace
the Ldr bytecodes with Star lookahead inlined into the Lda versions.

Also fixes IsAccumulatorLoadWithoutEffects to include LdaContextSlot and
LdaCurrentContextSlot

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2489513005
Cr-Commit-Position: refs/heads/master@{#40883}

[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/bytecodes.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/bytecodes.h
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/interpreter.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/interpreter.h
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/CallGlobal.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/CallNew.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/Delete.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/DoExpression.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/f633218b62477e1b9bc585d412297908887b75b4/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 469 by bugdroid1@chromium.org, Nov 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/be360af21a9ab958d7705020ed63a0275c386b0b

commit be360af21a9ab958d7705020ed63a0275c386b0b
Author: mythria <mythria@chromium.org>
Date: Fri Nov 11 09:16:22 2016

[Interpreter] Optimize for monomorphic case in Call and New bytecode handlers.

Fast case the monomorphic case, by marking the additional checks as deferred
blocks. This increases the code size by about 50 bytes, but the monmorphic
case requires one fewer jump and the all the code is contiguous, so may help
caching.

Also cleanup call and new bytecode handlers by changing some of the Branches
to GotoIf/Unless for better readability.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2487573005
Cr-Commit-Position: refs/heads/master@{#40910}

[modify] https://crrev.com/be360af21a9ab958d7705020ed63a0275c386b0b/src/interpreter/interpreter-assembler.cc

Project Member

Comment 470 by bugdroid1@chromium.org, Nov 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d

commit 5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d
Author: rmcilroy <rmcilroy@chromium.org>
Date: Wed Nov 23 09:30:11 2016

[compiler] Ensure code unsupported by Crankshaft goes to Ignition.

BUG=v8:4280,v8:5657

Review-Url: https://codereview.chromium.org/2505933008
Cr-Commit-Position: refs/heads/master@{#41209}

[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/ast/ast-numbering.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/ast/ast.h
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/compiler.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/full-codegen/full-codegen.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/objects-inl.h
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/objects.h
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/src/runtime/runtime-test.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/test/cctest/cctest.status
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/test/cctest/compiler/function-tester.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/test/cctest/test-api.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/test/cctest/test-cpu-profiler.cc
[modify] https://crrev.com/5f5300a61bfe51bb1ef9b5ca8709db38ce81b37d/test/debugger/debugger.status

Project Member

Comment 471 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9119d16904e9062d319427029c2c74270776e68e

commit 9119d16904e9062d319427029c2c74270776e68e
Author: mythria <mythria@chromium.org>
Date: Tue Dec 06 11:32:09 2016

[Interpreter] Optimize equality check with null/undefined with a check on the map.

Equality with null/undefined is equivalent to a check on the undetectable bit
on the map of the object. This would be more efficient than performing the entire
comparison operation.

This cl introduces:
1. A new bytecode called TestUndetectable that checks if the object is null/undefined.
2. Updates peeophole optimizer to emit TestUndetectable when a LdaNull/Undefined
precedes equality check.
4. TestUndetectable is transformed to ObjectIsUndetectable operator when building
turbofan graph.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2547043002
Cr-Commit-Position: refs/heads/master@{#41514}

[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/bytecodes.h
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/interpreter.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[add] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/cctest/interpreter/test-bytecode-generator.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/cctest/test-serialize.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/9119d16904e9062d319427029c2c74270776e68e/test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc

Project Member

Comment 472 by bugdroid1@chromium.org, Dec 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b5f146a02aeb28b89df6a2494ddf700a98d372ec

commit b5f146a02aeb28b89df6a2494ddf700a98d372ec
Author: caitp <caitp@igalia.com>
Date: Wed Dec 07 15:19:52 2016

[ignition] desugar GetIterator() via bytecode rather than via AST

Introduces:
- a new AST node representing the GetIterator() algorithm in the specification, to be used by ForOfStatement, YieldExpression (in the case of delegating yield*), and the future `for-await-of` loop proposed in http://tc39.github.io/proposal-async-iteration/#sec-async-iterator-value-unwrap-functions.
- a new opcode (JumpIfJSReceiver), which is useful for `if Type(object) is not Object` checks which are common throughout the specification. This node is easily eliminated by TurboFan.

The AST node is desugared specially in bytecode, rather than manually when building the AST. The benefit of this is that desugaring in the BytecodeGenerator is much simpler and easier to understand than desugaring the AST.

This also reduces parse time very slightly, and allows us to use LoadIC rather than KeyedLoadIC, which seems to have  better baseline performance. This results in a ~20% improvement in test/js-perf-test/Iterators micro-benchmarks, which I believe owes to the use of the slightly faster LoadIC as opposed to the KeyedLoadIC in the baseline case. Both produce identical optimized code via TurboFan when the type check can be eliminated, and the load can be replaced with a constant value.

BUG=v8:4280
R=bmeurer@chromium.org, rmcilroy@chromium.org, adamk@chromium.org, neis@chromium.org, jarin@chromium.org
TBR=rossberg@chromium.org

Review-Url: https://codereview.chromium.org/2557593004
Cr-Commit-Position: refs/heads/master@{#41555}

[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/asmjs/asm-wasm-builder.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/ast-expression-rewriter.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/ast-literal-reindexer.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/ast-numbering.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/ast-traversal-visitor.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/ast.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/ast/prettyprinter.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/bailout-reason.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/compiler/ast-graph-builder.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/compiler/ast-loop-assignment-analyzer.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/crankshaft/typing.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/full-codegen/full-codegen.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecode-array-writer.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/bytecodes.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/interpreter/interpreter.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/parsing/parser.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/parsing/parser.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/parsing/pattern-rewriter.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/runtime/runtime-internal.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/src/runtime/runtime.h
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/test/cctest/compiler/test-loop-assignment-analysis.cc
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/b5f146a02aeb28b89df6a2494ddf700a98d372ec/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 473 by bugdroid1@chromium.org, Dec 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/74ccda64dc6b3ecec1eecf8987da37a106da57de

commit 74ccda64dc6b3ecec1eecf8987da37a106da57de
Author: mythria <mythria@chromium.org>
Date: Fri Dec 16 15:01:08 2016

[Interpreter] Transform StrictEquality with null/undefined to special bytecodes.

Transform LdaNull/LdaUndefined followed by StrictEquality to TestNull/TestUndefined.
This would avoid a call to the compare IC. In the bytecode-graph builder these are
mapped to StrictEqual javascript operator. When reducing this operator, we already
optimize the cases for null/undefined.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2554723004
Cr-Commit-Position: refs/heads/master@{#41768}

[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/interpreter/bytecode-peephole-optimizer.cc
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/interpreter/bytecode-peephole-table.h
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/interpreter/bytecodes.h
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/interpreter/interpreter.cc
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/src/interpreter/mkpeephole.cc
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/test/cctest/interpreter/test-bytecode-generator.cc
[modify] https://crrev.com/74ccda64dc6b3ecec1eecf8987da37a106da57de/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Blockedon: -5418
Blockedon: -5384
Project Member

Comment 476 by bugdroid1@chromium.org, Mar 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e7f8575851a0a56ffe6772d98fd8d90602e6876b

commit e7f8575851a0a56ffe6772d98fd8d90602e6876b
Author: mvstanton <mvstanton@chromium.org>
Date: Wed Mar 08 08:10:59 2017

Turn on Ignition + TurboFan.

 _____            _ _   _
|_   _|          (_) | (_)
  | |  __ _ _ __  _| |_ _  ___  _ __
  | | / _` | '_ \| | __| |/ _ \| '_ \
 _| || (_| | | | | | |_| | (_) | | | |
 \___/\__, |_| |_|_|\__|_|\___/|_| |_|
       __/ |
      |___/

                    _
                  _| |_
                 |_   _|
                   |_|

 _____          _          ______
|_   _|        | |         |  ___|
  | |_   _ _ __| |__   ___ | |_ __ _ _ __
  | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
  | | |_| | |  | |_) | (_) | || (_| | | | |
  \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|

BUG=v8:5267, v8:4280, chromium:692409
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2736723006
Cr-Commit-Position: refs/heads/master@{#43663}

[modify] https://crrev.com/e7f8575851a0a56ffe6772d98fd8d90602e6876b/src/flag-definitions.h

Project Member

Comment 477 by bugdroid1@chromium.org, Mar 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/938e06f68fe9d055ee5af36e0c722856b2b60b36

commit 938e06f68fe9d055ee5af36e0c722856b2b60b36
Author: machenbach <machenbach@chromium.org>
Date: Wed Mar 08 11:47:14 2017

Revert of Turn on Ignition + TurboFan. (patchset #2 id:20001 of https://codereview.chromium.org/2736723006/ )

Reason for revert:
Collected enough test failures: http://crbug.com/698746

Original issue's description:
> Turn on Ignition + TurboFan.
>
>  _____            _ _   _
> |_   _|          (_) | (_)
>   | |  __ _ _ __  _| |_ _  ___  _ __
>   | | / _` | '_ \| | __| |/ _ \| '_ \
>  _| || (_| | | | | | |_| | (_) | | | |
>  \___/\__, |_| |_|_|\__|_|\___/|_| |_|
>        __/ |
>       |___/
>
>                     _
>                   _| |_
>                  |_   _|
>                    |_|
>
>
>
>  _____          _          ______
> |_   _|        | |         |  ___|
>   | |_   _ _ __| |__   ___ | |_ __ _ _ __
>   | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
>   | | |_| | |  | |_) | (_) | || (_| | | | |
>   \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|
>
>
> BUG=v8:5267, v8:4280, chromium:692409
> NOTREECHECKS=true
>
> Review-Url: https://codereview.chromium.org/2736723006
> Cr-Commit-Position: refs/heads/master@{#43663}
> Committed: https://chromium.googlesource.com/v8/v8/+/e7f8575851a0a56ffe6772d98fd8d90602e6876b

TBR=mstarzinger@chromium.org,danno@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org,mvstanton@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5267, v8:4280, chromium:692409

Review-Url: https://codereview.chromium.org/2732113005
Cr-Commit-Position: refs/heads/master@{#43664}

[modify] https://crrev.com/938e06f68fe9d055ee5af36e0c722856b2b60b36/src/flag-definitions.h

Project Member

Comment 478 by bugdroid1@chromium.org, Mar 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0f716acadaed1d9e194593543dbe1340d600d6fc

commit 0f716acadaed1d9e194593543dbe1340d600d6fc
Author: mvstanton <mvstanton@chromium.org>
Date: Thu Mar 09 07:47:19 2017

Turn on Ignition + TurboFan.

 _____            _ _   _
|_   _|          (_) | (_)
  | |  __ _ _ __  _| |_ _  ___  _ __
  | | / _` | '_ \| | __| |/ _ \| '_ \
 _| || (_| | | | | | |_| | (_) | | | |
 \___/\__, |_| |_|_|\__|_|\___/|_| |_|
       __/ |
      |___/

                    _
                  _| |_
                 |_   _|
                   |_|

 _____          _          ______
|_   _|        | |         |  ___|
  | |_   _ _ __| |__   ___ | |_ __ _ _ __
  | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
  | | |_| | |  | |_) | (_) | || (_| | | | |
  \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|

BUG=v8:5267, v8:4280, chromium:692409
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2736723006
Cr-Original-Commit-Position: refs/heads/master@{#43663}
Committed: https://chromium.googlesource.com/v8/v8/+/e7f8575851a0a56ffe6772d98fd8d90602e6876b
Review-Url: https://codereview.chromium.org/2736723006
Cr-Commit-Position: refs/heads/master@{#43684}

[modify] https://crrev.com/0f716acadaed1d9e194593543dbe1340d600d6fc/src/flag-definitions.h

Project Member

Comment 479 by bugdroid1@chromium.org, Mar 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b7648be7ec1e2542fef5b5c359e471cf38ba6edb

commit b7648be7ec1e2542fef5b5c359e471cf38ba6edb
Author: Ross McIlroy <rmcilroy@chromium.org>
Date: Tue Mar 14 23:07:09 2017

[Flags] Remove --ignition-staging flag.

Removes the --ignition-staging flag since it is no longer used
by anything and won't be a shipping configuration. Also removes
ignition_turbo variant from testrunner, since it is now 
the same as the turbofan variant.

BUG=v8:4280

Change-Id: I3b96e986879fc70b8e202fe9496334828acdd0ba
Reviewed-on: https://chromium-review.googlesource.com/452621
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43806}
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/src/flag-definitions.h
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/cctest/cctest.status
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/asm/regress-674089.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-5380.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-639270.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-677685.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-638551.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-644111.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-645103.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-645888.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-647217.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/regress/regress-crbug-651403.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/test/mjsunit/shared-function-tier-up-turbo.js
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/tools/foozzie/testdata/failure_output.txt
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/tools/foozzie/v8_foozzie.py
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/tools/foozzie/v8_foozzie_test.py
[modify] https://crrev.com/b7648be7ec1e2542fef5b5c359e471cf38ba6edb/tools/testrunner/local/variants.py

Project Member

Comment 480 by bugdroid1@chromium.org, Mar 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3db32e064f229c516538064e4aef650386549be7

commit 3db32e064f229c516538064e4aef650386549be7
Author: Ross McIlroy <rmcilroy@chromium.org>
Date: Wed Mar 15 14:05:51 2017

[Interpreter / TurboFan] Add TestTypeof bytecode.

Adds a TestTypeof bytecode to deal with comparisons of the form:
  typeof(object) === 'string';

Also adds support to Turbofan to perform these comparisons without
inserting checkpoints.

BUG=v8:4280,v8:5267

Change-Id: Ib5cc1c6816dfe70a4120838d8eada2fc0267750f
Reviewed-on: https://chromium-review.googlesource.com/454837
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43832}
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/ast/ast-value-factory.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/ast/ast.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/ast/ast.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/bailout-reason.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/compiler/ast-graph-builder.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/full-codegen/full-codegen.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-flags.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-flags.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/bytecodes.h
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/src/interpreter/interpreter.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/compiler/test-run-bytecode-graph-builder.cc
[add] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/test-bytecode-generator.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/cctest/interpreter/test-interpreter.cc
[modify] https://crrev.com/3db32e064f229c516538064e4aef650386549be7/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 481 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e6682554a8b0f06f077495407e4aff3b8a90b58b

commit e6682554a8b0f06f077495407e4aff3b8a90b58b
Author: Mythri <mythria@chromium.org>
Date: Wed Mar 22 12:31:11 2017

[Interpreter] Introduce strict equality bytecode that does not collect feedback.

Some of the StrictEquality comparisons do not require feedback (for ex: in
try-finally, generators). This cl introduces StrictEqualityNoFeedback bytecode
to be used in such cases. With this change, we no longer have to check if the 
type feedback slot is valid in compare bytecode handlers.

This is the first step in reworking the compare bytecode handler to avoid
duplicate checks when collecting feedback and when performing the operation.

BUG=v8:4280

Change-Id: Ia650fd43c0466b8625d3ce98c39ed1073ba42a6b
Reviewed-on: https://chromium-review.googlesource.com/455778
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44020}
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/interpreter/bytecodes.h
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/bytecode_expectations/TryFinally.golden
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/cctest/interpreter/test-interpreter.cc
[modify] https://crrev.com/e6682554a8b0f06f077495407e4aff3b8a90b58b/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 482 by bugdroid1@chromium.org, Mar 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/980448dfcd304960d12a3f4c593775727d5a317d

commit 980448dfcd304960d12a3f4c593775727d5a317d
Author: Ross McIlroy <rmcilroy@chromium.org>
Date: Mon Mar 27 11:15:43 2017

[Compiler] Remove CompileBaseline and three tier pipeline.

Since we no longer support the ignition-staging configuration 
any longer,  we can retire the three tier pipeline and the
CompileBaseline functionallity.

We still need support for JSFunction self healing due to
liveedit (which for --no-turbo might end up replacing a
forced Ignition function with a FCG function) - we can
remove this once we remove --no-turbo support.

BUG=v8:4280

Change-Id: I5482abd17785324654e022affd6bdb555b19b181
Reviewed-on: https://chromium-review.googlesource.com/452620
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44141}
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/builtins.h
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/builtins/x87/builtins-x87.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/compiler.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/compiler.h
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/objects-inl.h
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/objects.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/objects.h
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/runtime-profiler.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/runtime/runtime-compiler.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/runtime/runtime-test.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/src/runtime/runtime.h
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/cctest/test-compiler.cc
[delete] https://crrev.com/d5d43ae337835eafc719608372f34aaa3fcfcc46/test/debugger/debug/ignition/debug-break-mixed-stack.js
[delete] https://crrev.com/d5d43ae337835eafc719608372f34aaa3fcfcc46/test/debugger/debug/ignition/debug-step-mixed-stack.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/debugger/debug/regress/regress-prepare-break-while-recompile.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/compiler/deopt-numberoroddball-binop.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/compiler/integral32-add-sub.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/compiler/manual-concurrent-recompile.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/compiler/regress-5320.js
[delete] https://crrev.com/d5d43ae337835eafc719608372f34aaa3fcfcc46/test/mjsunit/compiler/regress-strict-equals-mixed-feedback.js
[delete] https://crrev.com/d5d43ae337835eafc719608372f34aaa3fcfcc46/test/mjsunit/ignition/regress-5768.js
[delete] https://crrev.com/d5d43ae337835eafc719608372f34aaa3fcfcc46/test/mjsunit/regress/regress-5380.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/regress/regress-5802.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/test/mjsunit/regress/regress-embedded-cons-string.js
[modify] https://crrev.com/980448dfcd304960d12a3f4c593775727d5a317d/tools/testrunner/local/variants.py

Project Member

Comment 483 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/16089196037f9794e74c57d4a873e80f3d4ea322

commit 16089196037f9794e74c57d4a873e80f3d4ea322
Author: Mythri <mythria@chromium.org>
Date: Wed Mar 29 07:23:58 2017

[Interpreter] Inline fast paths in compare bytecode handlers.

Compare bytecode handlers does several checks to collect feedback and
repeats these checks when actually performing the operation. This cl
changes it perform the actual comparison for smi / number along with 
collecting feedback. 

BUG=v8:4280

Change-Id: If0954b68dd232461e08e94a90ccc17604c235b27
Reviewed-on: https://chromium-review.googlesource.com/458420
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44216}
[modify] https://crrev.com/16089196037f9794e74c57d4a873e80f3d4ea322/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/16089196037f9794e74c57d4a873e80f3d4ea322/test/cctest/interpreter/test-interpreter.cc

Components: Interpreter
Project Member

Comment 485 by bugdroid1@chromium.org, Apr 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e480b2b29d89530479b418341653217e6d464f6b

commit e480b2b29d89530479b418341653217e6d464f6b
Author: Mythri <mythria@chromium.org>
Date: Tue Apr 25 11:41:57 2017

[Interpreter] Add js-perf-test benchmark for compare bytecode handlers.

Adds a micro benchmark in js-perf-test to measure the performance of
compare bytecode handlers.

Bug:v8:4280

Change-Id: Ic86d670f8f09147076a22cfeff2e1ec052afe20c
Reviewed-on: https://chromium-review.googlesource.com/485522
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44843}
[add] https://crrev.com/e480b2b29d89530479b418341653217e6d464f6b/test/js-perf-test/BytecodeHandlers/compare.js
[add] https://crrev.com/e480b2b29d89530479b418341653217e6d464f6b/test/js-perf-test/BytecodeHandlers/run.js
[modify] https://crrev.com/e480b2b29d89530479b418341653217e6d464f6b/test/js-perf-test/JSTests.json

Project Member

Comment 486 by bugdroid1@chromium.org, Apr 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2c460f6a267b21e80e27e9c5624b5670a6c4e1db

commit 2c460f6a267b21e80e27e9c5624b5670a6c4e1db
Author: Mythri <mythria@chromium.org>
Date: Wed Apr 26 08:50:49 2017

[Interpreter] Update the js-perf-test json file with the newly added tests.

Update the json file in js-perf-test with compare bytecode handler tests.
This cl (https://chromium-review.googlesource.com/c/485522/) adds new
tests but not all of them are updated in the json file.

Bug:v8:4280

Change-Id: Ifd1f479b770a4277fbba1de51ca2f7cbc26003cb
Reviewed-on: https://chromium-review.googlesource.com/487961
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44879}
[modify] https://crrev.com/2c460f6a267b21e80e27e9c5624b5670a6c4e1db/test/js-perf-test/JSTests.json

Project Member

Comment 487 by bugdroid1@chromium.org, Apr 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/51a5b23331bb41e096e29f3ced65b3cfa9d10331

commit 51a5b23331bb41e096e29f3ced65b3cfa9d10331
Author: Mythri <mythria@chromium.org>
Date: Thu Apr 27 11:14:21 2017

[Interpreter] Fix compare bytecodehandler benchmarks for equals.

Bug:v8:4280

Change-Id: I83dfd26b47d554406d3ede633bbefc92db6a4faf
Reviewed-on: https://chromium-review.googlesource.com/487964
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44924}
[modify] https://crrev.com/51a5b23331bb41e096e29f3ced65b3cfa9d10331/test/js-perf-test/BytecodeHandlers/compare.js

Project Member

Comment 488 by bugdroid1@chromium.org, May 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8d628bc920eacdfc8f618fefb02b5cd278f4142f

commit 8d628bc920eacdfc8f618fefb02b5cd278f4142f
Author: Mythri <mythria@chromium.org>
Date: Tue May 02 14:19:14 2017

[Interpreter] Remove special handling for tests in BytecodeRegisterOptimizer

BytecodeRegisterOptimizer had special handling for the case when parameters
is 0. This is not possible from valid javascript. It exists because some
tests do not take this into account. Fixed tests and removed the special
handling.

Also removed a TODO, which is already done here:
https://codereview.chromium.org/2227203002/

Bug: v8:4280,v8:6325
Change-Id: Idc17af12ad9292c13a6677aa4c8b88d21f4adf81
Reviewed-on: https://chromium-review.googlesource.com/490308
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45036}
[modify] https://crrev.com/8d628bc920eacdfc8f618fefb02b5cd278f4142f/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/8d628bc920eacdfc8f618fefb02b5cd278f4142f/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/8d628bc920eacdfc8f618fefb02b5cd278f4142f/test/cctest/interpreter/test-interpreter.cc
[modify] https://crrev.com/8d628bc920eacdfc8f618fefb02b5cd278f4142f/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 489 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0f7356e64e359aa9440fc97bc293b6edebcc441c

commit 0f7356e64e359aa9440fc97bc293b6edebcc441c
Author: Ross McIlroy <rmcilroy@chromium.org>
Date: Wed May 03 09:23:40 2017

[Interpreter] Only materialize output register if in a different equivalence set.

We only need to materialize the existing output register for a given
register transfer if it is in a different equivalence set, otherwise we
already have the value we want in the output register.

BUG=v8:4280

Change-Id: Ic4966590ac10445180aff353940d2c93e6a818aa
Reviewed-on: https://chromium-review.googlesource.com/493168
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45051}
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/src/interpreter/bytecode-register-optimizer.cc
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/Delete.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/IfConditions.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/0f7356e64e359aa9440fc97bc293b6edebcc441c/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden

Project Member

Comment 490 by bugdroid1@chromium.org, May 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/919530ac543e9911daae49683498b78f86b142e9

commit 919530ac543e9911daae49683498b78f86b142e9
Author: Mythri <mythria@chromium.org>
Date: Fri May 05 13:11:12 2017

Remove a jump in StrictEqual stub when type feedback is not required.

CodeStubAssembler::StrictEqual is modified to collect type feedback when
requested (https://chromium-review.googlesource.com/c/483399/). There 
are a couple of Gotos introduced in that cl, which are only necessary
when collecting type feedback. Changed it to generate these Gotos only
whencollecting type feedback.

Bug: v8:4280
Change-Id: I322a6065efcfb601bd9f5dc25be6e6bb00b2d1c0
Reviewed-on: https://chromium-review.googlesource.com/496268
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45135}
[modify] https://crrev.com/919530ac543e9911daae49683498b78f86b142e9/src/code-stub-assembler.cc

Project Member

Comment 491 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/40ccadb619ecafb4da1c2f56d1180f52b00610cb

commit 40ccadb619ecafb4da1c2f56d1180f52b00610cb
Author: Mythri <mythria@chromium.org>
Date: Tue May 09 10:09:04 2017

[Interpreter] Inline the collection of feedback for Equals bytecode handler.

This is the next in the series of simplifying the logic to collect feedback
in compare bytecode handlers. An earlier cl (
https://chromium-review.googlesource.com/c/483399/) modified StrictEquals
bytecode handler. This cl inlines the type feedback collection for the
Equalbytecode handler.

Bug: v8:4280
Change-Id: I36210a2412bb84a3fdb982aabccf8cdefe87e30e
Reviewed-on: https://chromium-review.googlesource.com/498447
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45183}
[modify] https://crrev.com/40ccadb619ecafb4da1c2f56d1180f52b00610cb/src/code-stub-assembler.cc
[modify] https://crrev.com/40ccadb619ecafb4da1c2f56d1180f52b00610cb/src/code-stub-assembler.h
[modify] https://crrev.com/40ccadb619ecafb4da1c2f56d1180f52b00610cb/src/interpreter/interpreter-generator.cc

Project Member

Comment 492 by bugdroid1@chromium.org, May 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4acca5ba888936bfcc0cbca083e6d6379a0ba1e9

commit 4acca5ba888936bfcc0cbca083e6d6379a0ba1e9
Author: Mythri <mythria@chromium.org>
Date: Mon May 15 10:28:13 2017

[Interpreter] Inline feedback collection in relational compare bytecode handlers.

This is the last in the series of simplifying the logic to collect feedback
in compare bytecode handlers. This cl inlines the type feedback collection
for the relational compare (lessthan, lessthan or equal, greater than,
gerater than or equal) bytecode handlers.

Bug: v8:4280
Change-Id: I4a896c9cbe5628c76785882c0632bfa07b18b099
Reviewed-on: https://chromium-review.googlesource.com/500309
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45296}
[modify] https://crrev.com/4acca5ba888936bfcc0cbca083e6d6379a0ba1e9/src/code-stub-assembler.cc
[modify] https://crrev.com/4acca5ba888936bfcc0cbca083e6d6379a0ba1e9/src/code-stub-assembler.h
[modify] https://crrev.com/4acca5ba888936bfcc0cbca083e6d6379a0ba1e9/src/interpreter/interpreter-generator.cc

Project Member

Comment 493 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e2ca2e69a6945c91605df81d5c8690c3186061e8

commit e2ca2e69a6945c91605df81d5c8690c3186061e8
Author: Leszek Swirski <leszeks@chromium.org>
Date: Tue May 16 15:38:33 2017

[ignition] Re-use deferred return/rethrow commands

Since deferred return/async return/rethrow commands don't have an associated
statement, we can reuse their entries in the deferred command list.

Bug: v8:4280
Bug: v8:6218
Change-Id: Ic51fb735d4ea13ebea1d5e456ec5689c0d98a4ac
Reviewed-on: https://chromium-review.googlesource.com/506077
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45344}
[modify] https://crrev.com/e2ca2e69a6945c91605df81d5c8690c3186061e8/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/e2ca2e69a6945c91605df81d5c8690c3186061e8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
[modify] https://crrev.com/e2ca2e69a6945c91605df81d5c8690c3186061e8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
[modify] https://crrev.com/e2ca2e69a6945c91605df81d5c8690c3186061e8/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/e2ca2e69a6945c91605df81d5c8690c3186061e8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden

Project Member

Comment 494 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5e9939214e2841e61333f08714ada1da6e380f00

commit 5e9939214e2841e61333f08714ada1da6e380f00
Author: Leszek Swirski <leszeks@chromium.org>
Date: Thu May 18 10:27:58 2017

[ignition] Use jump for single deferred commands

For a single deferred commands, using a jump table is overkill, so
instead simply test the token against the single entry.

Bug: v8:4280
Bug: v8:6218
Change-Id: I0300f640080705fb10f46ad4ed5791703fa4dd77
Reviewed-on: https://chromium-review.googlesource.com/506153
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45393}
[modify] https://crrev.com/5e9939214e2841e61333f08714ada1da6e380f00/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/5e9939214e2841e61333f08714ada1da6e380f00/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/5e9939214e2841e61333f08714ada1da6e380f00/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
[modify] https://crrev.com/5e9939214e2841e61333f08714ada1da6e380f00/test/cctest/interpreter/bytecode_expectations/TryFinally.golden

Project Member

Comment 495 by bugdroid1@chromium.org, Jun 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e71e8e8327ff099083b1791f0ff9945099c2452f

commit e71e8e8327ff099083b1791f0ff9945099c2452f
Author: Caitlin Potter <caitp@igalia.com>
Date: Mon Jun 05 14:34:59 2017

[interpreter] use GetRegisterCountOperand for OperandType::kRegOutList

Fixes a crash in PrintRegisters() with --trace-ignition and the
RestoreGeneratorRegisters bytecode.

BUG=v8:4280, v8:6351
R=rmcilroy@chromium.org, mythria@chromium.org, adamk@chromium.org

Change-Id: I09e86523b71fb9e5763e0373c567925f38227913
Reviewed-on: https://chromium-review.googlesource.com/523843
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45706}
[modify] https://crrev.com/e71e8e8327ff099083b1791f0ff9945099c2452f/src/interpreter/bytecode-array-accessor.cc

Project Member

Comment 497 by bugdroid1@chromium.org, Jun 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c360c6a1d01135298aa9b6508f8367db322ce107

commit c360c6a1d01135298aa9b6508f8367db322ce107
Author: Mythri <mythria@chromium.org>
Date: Tue Jun 06 09:41:31 2017

[Interpreter] Introduce bytecodes that check for hole and throw.

Introduces ThrowReferenceErrorIfHole / ThrowSuperNotCalledIfHole 
/ ThrowSuperAlreadyCalledIfNotHole bytecodes to handle hole checks.
In the bytecode-graph builder they are handled by introducing a deopt point
instead of adding explicit control flow. JumpIfNotHole / JumpIfNotHoleConstant
bytecodes are removed since they are no longer required.


Bug: v8:4280, v8:6383
Change-Id: I58b70c556b0ffa30e41a0cd44016874c3e9c5fe1
Reviewed-on: https://chromium-review.googlesource.com/509613
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45720}
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/effect-control-linearizer.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/effect-control-linearizer.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/js-inlining.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/js-native-context-specialization.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/opcodes.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/pipeline.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/redundancy-elimination.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/simplified-lowering.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/simplified-operator.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/simplified-operator.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/typed-optimization.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/typed-optimization.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/typer.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/compiler/verifier.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/debug/debug-evaluate.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/heap/heap.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/heap/heap.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecode-array-writer.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecode-generator.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/bytecodes.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/isolate-inl.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/isolate.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/isolate.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/runtime-profiler.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/runtime/runtime-classes.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/runtime/runtime-internal.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/src/runtime/runtime.h
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/LetVariable.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden
[add] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/mjsunit/compiler/native-context-specialization-hole-check.js
[add] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/mjsunit/ignition/throw-if-hole.js
[add] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/mjsunit/ignition/throw-if-not-hole.js
[add] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/mjsunit/ignition/throw-super-not-called.js
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/test/unittests/interpreter/bytecode-array-builder-unittest.cc
[modify] https://crrev.com/c360c6a1d01135298aa9b6508f8367db322ce107/tools/v8heapconst.py

Project Member

Comment 498 by bugdroid1@chromium.org, Jun 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/18d05c8727fc9818df9012621c30e2ba8db16b96

commit 18d05c8727fc9818df9012621c30e2ba8db16b96
Author: Mythri <mythria@chromium.org>
Date: Fri Jun 16 14:39:52 2017

[Interpreter] Refactor arithmetic bytecode handlers.

The Smi versions of arithmetic bytecodes (AddSmi, SubSmi, MulSmi,
DivSmi, ModSmi) have a fast path for Smi case and call to a builtin
on the slow path. However, this builtin is only used by these bytecode
handlers. This cl removes the builtins and inlines them into
bytecode handlers. This will also save few checks in the slow-path.

Subtract, multiply, divide and modulus also share the same checks to 
collect type feedback on several cases. This cl also refactors them
to share the same code.

Also removed a couple of TODOs that are no longer relevant.

Bug: v8:4280, v8:6474
Change-Id: Id23bd61c2074564a1beacb0632165f52370ff226
Reviewed-on: https://chromium-review.googlesource.com/530845
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45982}
[modify] https://crrev.com/18d05c8727fc9818df9012621c30e2ba8db16b96/src/builtins/builtins-definitions.h
[modify] https://crrev.com/18d05c8727fc9818df9012621c30e2ba8db16b96/src/builtins/builtins-number-gen.cc
[modify] https://crrev.com/18d05c8727fc9818df9012621c30e2ba8db16b96/src/ic/binary-op-assembler.cc
[modify] https://crrev.com/18d05c8727fc9818df9012621c30e2ba8db16b96/src/ic/binary-op-assembler.h
[modify] https://crrev.com/18d05c8727fc9818df9012621c30e2ba8db16b96/src/interpreter/interpreter-generator.cc

Project Member

Comment 499 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/bd185e9998fb3db40fb3e90823669bb94682cd17

commit bd185e9998fb3db40fb3e90823669bb94682cd17
Author: bmeurer <bmeurer@chromium.org>
Date: Tue Jun 27 08:19:13 2017

[ignition] Slightly improve code for Call/Construct bytecodes.

The Construct bytecode is always passed a valid feedback slot (just like
the Call bytecode), so no need to check for invalid feedback slot anymore.
Also perform the call count increment initially for both bytecodes instead
of delaying it, which decreases live range for the feedback vector and slot
registers.

R=mythria@chromium.org, rmcilroy@chromium.org
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2955063002
Cr-Commit-Position: refs/heads/master@{#46232}

[modify] https://crrev.com/bd185e9998fb3db40fb3e90823669bb94682cd17/src/interpreter/interpreter-assembler.cc

Status: Fixed (was: Assigned)
The Ignition + TurboFan pipeline has been shipping to stable for over a week and stable, so marking this tracking bug as complete.

Plus, 500 comments is a nice round number :).
Showing comments 401 - 500 of 500 Older

Sign in to add a comment