Project: v8 Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 6 users
Status: Assigned
Owner:
Cc:
Components:
HW: All
OS: All
Priority: 2
Type: Bug

Blocking:
issue 2935
issue 5456


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment
Implement constant field tracking
Project Member Reported by ishell@chromium.org, Oct 7 2016 Back to list
This is a tracking bug for new constant field tracking.

The design doc is here: https://docs.google.com/document/d/1VEeXn6BfKmVkYpfMuxNs3otLLNPIxIVA1cLoSwGMIxI

 
Blocking: 5456
Blocking: 2935
Project Member Comment 4 by bugdroid1@chromium.org, Jan 10 2017
Project Member Comment 6 by bugdroid1@chromium.org, Jan 12 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d3d57ebaf6cd7084892aae37c3e54293c07b65b8

commit d3d57ebaf6cd7084892aae37c3e54293c07b65b8
Author: ishell <ishell@chromium.org>
Date: Thu Jan 12 16:37:12 2017

[runtime] Use PropertyKind/PropertyLocation instead of PropertyType.

This is a necessary cleanup before introducing PropertyConstness bit.

BUG=v8:5495

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

[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/bootstrapper.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/compiler/access-info.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/compiler/js-create-lowering.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/crankshaft/hydrogen.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/elements.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/factory.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/ic/handler-compiler.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/ic/ic.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/json-stringifier.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/keys.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/layout-descriptor-inl.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/lookup.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/map-updater.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/objects-debug.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/objects-inl.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/objects-printer.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/objects.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/objects.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/property-descriptor.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/property-details.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/property.h
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/runtime/runtime-object.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/string-stream.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/transitions.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/src/value-serializer.cc
[modify] https://crrev.com/d3d57ebaf6cd7084892aae37c3e54293c07b65b8/test/cctest/test-unboxed-doubles.cc

Project Member Comment 7 by bugdroid1@chromium.org, Jan 12 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/aee244b0e115f4c3aef56055b739777dde94c3ac

commit aee244b0e115f4c3aef56055b739777dde94c3ac
Author: ishell <ishell@chromium.org>
Date: Thu Jan 12 21:40:04 2017

[modules] Define @@toStringTag on namespace object as a field.

The constant field tracking implies data constants to be stored
in fields instead of descriptor arrays. This CL does necessary
modifications to the JSModuleNamespace map setup.

BUG=v8:1569, v8:5495

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

[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/bootstrapper.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/factory.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects-inl.h
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects-printer.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects.h

Project Member Comment 11 by bugdroid1@chromium.org, Jan 16 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8f0bf07b504e8bb27ef3703388c4c0699670331f

commit 8f0bf07b504e8bb27ef3703388c4c0699670331f
Author: ishell <ishell@chromium.org>
Date: Mon Jan 16 11:59:18 2017

[runtime] Remove PropertyType definition and use PropertyKind/PropertyLocation instead.

Now we can add a constness bit to the PropertyDetails.

BUG=v8:5495

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

[modify] https://crrev.com/8f0bf07b504e8bb27ef3703388c4c0699670331f/src/objects.cc
[modify] https://crrev.com/8f0bf07b504e8bb27ef3703388c4c0699670331f/src/property-details.h
[modify] https://crrev.com/8f0bf07b504e8bb27ef3703388c4c0699670331f/test/cctest/test-field-type-tracking.cc
[modify] https://crrev.com/8f0bf07b504e8bb27ef3703388c4c0699670331f/test/cctest/test-transitions.cc

Project Member Comment 12 by bugdroid1@chromium.org, Jan 16 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/46134ff4b0ac6ff413e28748788cdc1294fbf69d

commit 46134ff4b0ac6ff413e28748788cdc1294fbf69d
Author: ishell <ishell@chromium.org>
Date: Mon Jan 16 12:26:07 2017

[crankshaft][runtime] Initialize uninitialized double fields with hole NaN value instead of 0.0.

... and ensure that we do a full store when we overwrite uninitialized values.

This cleanup is necessary for checking that constant field tracking works as expected (once landed).

BUG=v8:5495

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

[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/crankshaft/hydrogen.h
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/factory.h
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/json-parser.cc
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/objects-inl.h
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/objects.cc
[modify] https://crrev.com/46134ff4b0ac6ff413e28748788cdc1294fbf69d/src/value-serializer.cc

Project Member Comment 13 by bugdroid1@chromium.org, Jan 17 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/19c3c667a6eaf2d8163f69b44a50587d6237026a

commit 19c3c667a6eaf2d8163f69b44a50587d6237026a
Author: ishell <ishell@chromium.org>
Date: Tue Jan 17 12:16:31 2017

[ic] Decode offset from the handler word later in store IC dispatcher.

BUG=v8:5495

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

[modify] https://crrev.com/19c3c667a6eaf2d8163f69b44a50587d6237026a/src/ic/accessor-assembler-impl.h
[modify] https://crrev.com/19c3c667a6eaf2d8163f69b44a50587d6237026a/src/ic/accessor-assembler.cc

Project Member Comment 17 by bugdroid1@chromium.org, Jan 23 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4

commit f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4
Author: ishell <ishell@chromium.org>
Date: Mon Jan 23 18:18:48 2017

Access double fields in C++ as uint64_t fields to preserve signaling bit of a NaN.

Manipulating the signaling NaN used for the hole and uninitialized double
field sentinel in C++, e.g. with bit_cast or HeapNumber::value()/set_value(),
will change its value on ia32 (the x87 stack is used to return values and
stores to the stack silently clear the signalling bit).

BUG=v8:5495

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

[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/crankshaft/hydrogen-instructions.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/crankshaft/hydrogen-instructions.h
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/factory.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/factory.h
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/heap/heap.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/heap/heap.h
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/objects-inl.h
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/objects-printer.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/objects.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/src/objects.h
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/test/cctest/heap/test-alloc.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/test/cctest/test-field-type-tracking.cc
[modify] https://crrev.com/f9f5fc31fdea4ded8287d6bc8ee36e147b6412d4/test/cctest/test-unboxed-doubles.cc

Project Member Comment 18 by bugdroid1@chromium.org, Feb 10 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a4f4c7405064cf31e75d57a921f012abfebe1bfd

commit a4f4c7405064cf31e75d57a921f012abfebe1bfd
Author: ishell <ishell@chromium.org>
Date: Fri Feb 10 08:05:25 2017

[runtime][ic] Constant field tracking support.

This CL includes runtime and IC parts of the tracking. It is controlled by
compile-time flag FLAG_constant_field_tracking and currently disabled.

Transition from kConst to kMutable still involves map deprecation.

BUG=v8:5495

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

[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/bootstrapper.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/compiler/access-info.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/flag-definitions.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/ic/accessor-assembler.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/ic/accessor-assembler.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/ic/handler-configuration-inl.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/ic/handler-configuration.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/ic/ic.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/json-parser.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/lookup.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/lookup.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/map-updater.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/map-updater.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/objects-inl.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/objects.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/objects.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/property-details.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/property.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/property.h
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/src/value-serializer.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/cctest/test-api.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/cctest/test-field-type-tracking.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/cctest/test-transitions.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/cctest/test-unboxed-doubles.cc
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/mjsunit/compiler/concurrent-invalidate-transition-map.js
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/mjsunit/field-type-tracking.js
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/mjsunit/smi-representation.js
[modify] https://crrev.com/a4f4c7405064cf31e75d57a921f012abfebe1bfd/test/mjsunit/track-fields.js

Project Member Comment 19 by bugdroid1@chromium.org, Feb 17 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9

commit a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9
Author: Igor Sheludko <ishell@chromium.org>
Date: Fri Feb 17 15:55:33 2017

[ic] Introduce StoreOwnIC.

... which is used for initializing properties with non compile time values.

Currently we use StoreOwnIC only for storing properties that already exist
in the boilerplate therefore we can reuse StoreIC dispatcher.
The proper StoreOwnIC dispatcher will be implemented in a separate CL.

BUG=v8:5495, v8:4414

Change-Id: I9c33fdb8499ec5be2c7fce1ecb6ce7aa285e5844
Reviewed-on: https://chromium-review.googlesource.com/443588
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43285}
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/ast/ast.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/code-factory.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/code-factory.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/ast-graph-builder.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/ast-graph-builder.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/bytecode-graph-builder.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/js-native-context-specialization.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/js-native-context-specialization.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/js-operator.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/js-operator.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/opcodes.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/operator-properties.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/typer.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/compiler/verifier.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/feedback-vector-inl.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/feedback-vector.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/feedback-vector.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/arm/full-codegen-arm.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/arm64/full-codegen-arm64.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/full-codegen.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/full-codegen.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/ia32/full-codegen-ia32.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/mips/full-codegen-mips.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/mips64/full-codegen-mips64.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/ppc/full-codegen-ppc.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/s390/full-codegen-s390.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/x64/full-codegen-x64.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/full-codegen/x87/full-codegen-x87.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/ic/ic.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/ic/ic.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/interpreter/bytecodes.h
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/interpreter/interpreter.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/objects-printer.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/src/type-info.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/test/cctest/test-feedback-vector.cc
[modify] https://crrev.com/a85f27d8a4eeb4a50c97984c1ceba2d6828ae6b9/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member Comment 20 by bugdroid1@chromium.org, Feb 20 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c6b57edc04745bd9eebc7b01096dc91bdee2b75a

commit c6b57edc04745bd9eebc7b01096dc91bdee2b75a
Author: Igor Sheludko <ishell@chromium.org>
Date: Mon Feb 20 09:05:55 2017

[crankshaft][turbofan] Compilers' part of constant field tracking.

The constant field tracking is still disabled.

BUG=v8:5495

Change-Id: I543fe50b82e2255bbf200ea785ec53e3623e30cb
Reviewed-on: https://chromium-review.googlesource.com/440924
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43304}
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/compiler/access-info.cc
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/compiler/access-info.h
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/compiler/js-native-context-specialization.cc
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/crankshaft/hydrogen.cc
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/crankshaft/hydrogen.h
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/lookup.cc
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/src/lookup.h
[add] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/test/mjsunit/const-field-tracking.js
[modify] https://crrev.com/c6b57edc04745bd9eebc7b01096dc91bdee2b75a/test/mjsunit/mjsunit.status

Project Member Comment 21 by bugdroid1@chromium.org, Mar 9 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c03c7b73873d0c12809bbfb763d2352251a49671

commit c03c7b73873d0c12809bbfb763d2352251a49671
Author: Igor Sheludko <ishell@chromium.org>
Date: Thu Mar 09 12:26:12 2017

[runtime] Prototype const-to-mutable field migrations without deprecating maps.

It depends on constant field tracking and currently disabled.

BUG=v8:5495

Change-Id: I6202cddfc2d32b5a06c5ab00c42caa6e276a3eb1
Reviewed-on: https://chromium-review.googlesource.com/451639
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43687}
[modify] https://crrev.com/c03c7b73873d0c12809bbfb763d2352251a49671/src/flag-definitions.h
[modify] https://crrev.com/c03c7b73873d0c12809bbfb763d2352251a49671/src/lookup.cc
[modify] https://crrev.com/c03c7b73873d0c12809bbfb763d2352251a49671/src/map-updater.cc
[modify] https://crrev.com/c03c7b73873d0c12809bbfb763d2352251a49671/src/objects.cc
[modify] https://crrev.com/c03c7b73873d0c12809bbfb763d2352251a49671/test/cctest/test-field-type-tracking.cc

Project Member Comment 22 by bugdroid1@chromium.org, Mar 9 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d849396e492a375dbe2b490b5d5e29415189e565

commit d849396e492a375dbe2b490b5d5e29415189e565
Author: Igor Sheludko <ishell@chromium.org>
Date: Thu Mar 09 12:29:19 2017

[ic] StoreOwnICs must unconditionally store even to kConst fields.

BUG=v8:5495

Change-Id: I731ddaa34169f6f57d3719e6170bfe00e6d66241
Reviewed-on: https://chromium-review.googlesource.com/451638
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43693}
[modify] https://crrev.com/d849396e492a375dbe2b490b5d5e29415189e565/src/ic/ic.cc

Project Member Comment 23 by bugdroid1@chromium.org, Mar 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dfca935138dd29aebb10d13fd7ccf9d1c9f50c76

commit dfca935138dd29aebb10d13fd7ccf9d1c9f50c76
Author: Igor Sheludko <ishell@chromium.org>
Date: Mon Mar 13 17:14:51 2017

[turbofan] Make instanceof optimization constant-field-tracking compatible.

BUG=v8:5495

Change-Id: I49e478f5d6b12a3b65f69fa8120a768f2dbd98f3
Reviewed-on: https://chromium-review.googlesource.com/451323
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43753}
[modify] https://crrev.com/dfca935138dd29aebb10d13fd7ccf9d1c9f50c76/src/compiler/js-native-context-specialization.cc

Labels: Priority-2
Sign in to add a comment