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

Issue 391693002: In-object double fields unboxing (for 64-bit only). (Closed)

Created:
6 years, 5 months ago by Igor Sheludko
Modified:
6 years, 1 month ago
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

In-object double fields unboxing (for 64-bit only). This CL introduces LayoutDescriptor which is responsible for tracking which in-object fields are tagged and which are not. LayoutDescriptor field added to Map. Currently unboxing is disabled. R=hpayer@chromium.org, verwaest@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=25250

Patch Set 1 #

Total comments: 43

Patch Set 2 : Addressing comments, part 1 #

Patch Set 3 : Rebasing + addressing comments #

Patch Set 4 : Addressed all the comments #

Patch Set 5 : arm64 port #

Total comments: 7

Patch Set 6 : LayoutDescriptor tests added and a couple of bugs fixed. #

Patch Set 7 : Addressing comments #

Total comments: 5

Patch Set 8 : LayoutDescriptor stuff moved to separate file #

Patch Set 9 : Addressed Toon's comments #

Total comments: 28

Patch Set 10 : Addressing Hannes's comments #

Patch Set 11 : Addressing Hannes's comments #

Patch Set 12 : Rebasing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1855 lines, -216 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +11 lines, -5 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +2 lines, -3 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +28 lines, -25 lines 0 comments Download
M src/field-index.h View 1 2 3 chunks +4 lines, -2 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M src/globals.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +30 lines, -3 lines 0 comments Download
M src/heap/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +12 lines, -1 line 0 comments Download
M src/heap/objects-visiting.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +58 lines, -13 lines 0 comments Download
M src/heap/objects-visiting.cc View 1 2 3 7 chunks +10 lines, -10 lines 0 comments Download
M src/heap/store-buffer.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +27 lines, -5 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +22 lines, -9 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -1 line 0 comments Download
M src/json-stringifier.h View 1 2 3 1 chunk +9 lines, -2 lines 0 comments Download
A src/layout-descriptor.h View 1 2 3 4 5 6 7 8 9 1 chunk +127 lines, -0 lines 0 comments Download
A src/layout-descriptor.cc View 1 2 3 4 5 6 7 8 1 chunk +146 lines, -0 lines 0 comments Download
A src/layout-descriptor-inl.h View 1 2 3 4 5 6 7 1 chunk +186 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +47 lines, -15 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 10 11 32 chunks +204 lines, -102 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +28 lines, -2 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +134 lines, -6 lines 0 comments Download
M src/objects-printer.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +49 lines, -2 lines 0 comments Download
M src/property-details.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -3 lines 0 comments Download
M src/string-stream.cc View 1 2 3 1 chunk +7 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +8 lines, -2 lines 0 comments Download
M test/cctest/cctest.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +11 lines, -2 lines 0 comments Download
A test/cctest/test-unboxed-doubles.cc View 1 2 3 4 5 6 7 8 9 1 chunk +668 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (2 generated)
Igor Sheludko
PTAL
6 years, 5 months ago (2014-07-14 11:25:22 UTC) #1
Toon Verwaest
https://codereview.chromium.org/391693002/diff/1/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/391693002/diff/1/src/heap.cc#newcode2341 src/heap.cc:2341: // All initial maps have only tagged fields. // ...
6 years, 4 months ago (2014-07-29 15:02:09 UTC) #2
Igor Sheludko
PTAL (I changed almost third half of the CL) https://codereview.chromium.org/391693002/diff/1/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/391693002/diff/1/src/heap.cc#newcode2341 src/heap.cc:2341: ...
6 years, 1 month ago (2014-10-30 14:23:44 UTC) #3
Toon Verwaest
Looking good to me. https://codereview.chromium.org/391693002/diff/80001/src/flag-definitions.h File src/flag-definitions.h (right): https://codereview.chromium.org/391693002/diff/80001/src/flag-definitions.h#newcode934 src/flag-definitions.h:934: "enable in-object double fields unboxing ...
6 years, 1 month ago (2014-10-31 16:23:41 UTC) #4
Igor Sheludko
I added LayoutDescriptor tests and addressed all Toon's comments, except extracting LayoutDescriptor to another file. ...
6 years, 1 month ago (2014-11-03 12:47:23 UTC) #6
Toon Verwaest
https://codereview.chromium.org/391693002/diff/120001/src/heap/objects-visiting.h File src/heap/objects-visiting.h (right): https://codereview.chromium.org/391693002/diff/120001/src/heap/objects-visiting.h#newcode109 src/heap/objects-visiting.h:109: bool has_unboxed_fields); Use enum rather than bool https://codereview.chromium.org/391693002/diff/120001/src/objects.cc File ...
6 years, 1 month ago (2014-11-04 10:04:51 UTC) #7
Igor Sheludko
Moved LayoutDescriptor-related stuff to separate file and addressed last comments. https://codereview.chromium.org/391693002/diff/120001/src/objects.cc File src/objects.cc (right): https://codereview.chromium.org/391693002/diff/120001/src/objects.cc#newcode8120 ...
6 years, 1 month ago (2014-11-04 10:46:29 UTC) #9
Hannes Payer (out of office)
Cool stuff, already looking good. A few comments. https://codereview.chromium.org/391693002/diff/160001/src/globals.h File src/globals.h (right): https://codereview.chromium.org/391693002/diff/160001/src/globals.h#newcode90 src/globals.h:90: #define ...
6 years, 1 month ago (2014-11-06 12:29:46 UTC) #10
Igor Sheludko
https://codereview.chromium.org/391693002/diff/160001/src/globals.h File src/globals.h (right): https://codereview.chromium.org/391693002/diff/160001/src/globals.h#newcode90 src/globals.h:90: #define V8_DOUBLE_FIELDS_UNBOXING 0 On 2014/11/06 12:29:46, Hannes Payer wrote: ...
6 years, 1 month ago (2014-11-07 08:03:53 UTC) #11
Toon Verwaest
lgtm
6 years, 1 month ago (2014-11-07 09:54:12 UTC) #12
Hannes Payer (out of office)
LGTM, with nits. https://codereview.chromium.org/391693002/diff/160001/src/heap/objects-visiting.h File src/heap/objects-visiting.h (right): https://codereview.chromium.org/391693002/diff/160001/src/heap/objects-visiting.h#newcode238 src/heap/objects-visiting.h:238: IterateRawPointers(heap, object, offset, offset + kPointerSize); ...
6 years, 1 month ago (2014-11-10 15:26:08 UTC) #13
Igor Sheludko
https://codereview.chromium.org/391693002/diff/160001/src/heap/objects-visiting.h File src/heap/objects-visiting.h (right): https://codereview.chromium.org/391693002/diff/160001/src/heap/objects-visiting.h#newcode238 src/heap/objects-visiting.h:238: IterateRawPointers(heap, object, offset, offset + kPointerSize); On 2014/11/10 15:26:08, ...
6 years, 1 month ago (2014-11-10 15:43:54 UTC) #14
Igor Sheludko
6 years, 1 month ago (2014-11-10 16:35:03 UTC) #15
Message was sent while issue was closed.
Committed patchset #12 (id:220001) manually as 25250 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698