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

Issue 167303005: Track field types. (Closed)

Created:
6 years, 10 months ago by Benedikt Meurer
Modified:
6 years, 8 months ago
Reviewers:
Toon Verwaest
CC:
v8-dev
Visibility:
Public.

Description

Track field types. This is an initial step towards tracking the exact types instead of just the representations of fields. It adds support to track up to one map of heap object field values, eliminating various map checks on values loaded from such fields, at the cost of making stores to such fields slightly more expensive. TEST=mjsunit/field-type-tracking R=verwaest@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=20701

Patch Set 1 : REBASE #

Patch Set 2 : Fix another IsCurrently() instead of Is(). #

Patch Set 3 : Support transitions in LookupResult. #

Total comments: 10

Patch Set 4 : Next try... #

Patch Set 5 : Fixes #

Patch Set 6 : REBASE #

Total comments: 8

Patch Set 7 : Callbacks, handlers and interceptors can hold every value. #

Patch Set 8 : Addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+627 lines, -137 lines) Patch
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/arm/stub-cache-arm.cc View 1 2 3 2 chunks +16 lines, -2 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/stub-cache-arm64.cc View 1 2 3 2 chunks +16 lines, -2 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 4 chunks +32 lines, -1 line 0 comments Download
M src/hydrogen-check-elimination.cc View 1 chunk +7 lines, -1 line 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 4 chunks +9 lines, -2 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 2 3 2 chunks +14 lines, -2 lines 0 comments Download
M src/ic.cc View 1 2 3 4 5 1 chunk +4 lines, -1 line 0 comments Download
M src/json-parser.h View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 chunks +23 lines, -5 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 27 chunks +250 lines, -47 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 5 1 chunk +9 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 4 chunks +12 lines, -8 lines 0 comments Download
M src/property.h View 1 2 3 4 5 6 4 chunks +55 lines, -4 lines 0 comments Download
M src/property.cc View 1 2 3 1 chunk +35 lines, -54 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/x64/stub-cache-x64.cc View 1 2 3 2 chunks +14 lines, -2 lines 0 comments Download
A test/mjsunit/field-type-tracking.js View 1 2 3 4 1 chunk +106 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Toon Verwaest
Overall the approach is looking good. Need more test cases and investigate why performance drops. ...
6 years, 9 months ago (2014-03-04 13:49:34 UTC) #1
Toon Verwaest
Looking good, but I still have some comments. Lets wait until after the branch. https://codereview.chromium.org/167303005/diff/150001/src/hydrogen.cc ...
6 years, 9 months ago (2014-03-21 14:33:37 UTC) #2
Benedikt Meurer
Please take another look... https://codereview.chromium.org/167303005/diff/150001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/167303005/diff/150001/src/objects.cc#newcode2028 src/objects.cc:2028: ? HeapType::OfCurrently(value, isolate) On 2014/03/21 ...
6 years, 8 months ago (2014-04-11 11:11:59 UTC) #3
Toon Verwaest
lgtm with nits https://codereview.chromium.org/167303005/diff/210001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/167303005/diff/210001/src/objects.cc#newcode2022 src/objects.cc:2022: // Allocate new instance descriptors with ...
6 years, 8 months ago (2014-04-11 12:49:42 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/167303005/diff/210001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/167303005/diff/210001/src/objects.cc#newcode2022 src/objects.cc:2022: // Allocate new instance descriptors with (name, index) added ...
6 years, 8 months ago (2014-04-14 06:29:04 UTC) #5
Benedikt Meurer
6 years, 8 months ago (2014-04-14 06:29:32 UTC) #6
Message was sent while issue was closed.
Committed patchset #8 manually as r20701 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698