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

Issue 1150593003: Clean up aligned allocation code in preparation for SIMD alignments. (Closed)

Created:
5 years, 7 months ago by bbudge
Modified:
5 years, 6 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Clean up aligned allocation code in preparation for SIMD alignments. Moves alignment fill calculations into two static Heap methods. Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object. Makes DoubleAlignForDeserialization explicitly fill after an already aligned object. LOG=N BUG=v8:4124 Committed: https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84 Cr-Commit-Position: refs/heads/master@{#28687} Committed: https://crrev.com/43638cd4e8b8372ca5b002eef565ec0e75ac5972 Cr-Commit-Position: refs/heads/master@{#28702}

Patch Set 1 : #

Patch Set 2 : Fix compile. #

Total comments: 3

Patch Set 3 : Handle filler after object. #

Total comments: 1

Patch Set 4 : Rebase and clean up. #

Patch Set 5 : Add comments. #

Patch Set 6 : Fix compile, and some stale names in the test. #

Patch Set 7 : Tighten test and work around gcc warning. #

Patch Set 8 : Fix bug uncovered by test. #

Patch Set 9 : Only check for unaligned double case. #

Total comments: 7

Patch Set 10 : Review comments. More tests coming hopefully. #

Patch Set 11 : Add some alignment tests for doubles. #

Patch Set 12 : Test the over allocated fill case. #

Total comments: 6

Patch Set 13 : Added tests for free list allocation. #

Patch Set 14 : Fix compile. #

Patch Set 15 : Fix DoubleAlignForDeserialization, fix test when top is misaligned. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+250 lines, -82 lines) Patch
M src/heap/heap.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +17 lines, -7 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +40 lines, -17 lines 0 comments Download
M src/heap/spaces.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -3 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +9 lines, -14 lines 0 comments Download
M src/heap/spaces-inl.h View 1 2 3 4 5 6 7 8 9 4 chunks +25 lines, -41 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +155 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (6 generated)
bbudge
This seems to work, but it's complex code, so unit tests are needed. I will ...
5 years, 7 months ago (2015-05-20 15:39:39 UTC) #5
Benedikt Meurer
On 2015/05/20 15:39:39, bbudge wrote: > This seems to work, but it's complex code, so ...
5 years, 7 months ago (2015-05-21 04:47:45 UTC) #6
Hannes Payer (out of office)
https://codereview.chromium.org/1150593003/diff/60001/src/heap/spaces-inl.h File src/heap/spaces-inl.h (right): https://codereview.chromium.org/1150593003/diff/60001/src/heap/spaces-inl.h#newcode304 src/heap/spaces-inl.h:304: object = free_list_.Allocate(aligned_size_in_bytes); I don't see how alignment works ...
5 years, 7 months ago (2015-05-21 10:38:18 UTC) #7
bbudge
https://codereview.chromium.org/1150593003/diff/60001/src/heap/spaces-inl.h File src/heap/spaces-inl.h (right): https://codereview.chromium.org/1150593003/diff/60001/src/heap/spaces-inl.h#newcode304 src/heap/spaces-inl.h:304: object = free_list_.Allocate(aligned_size_in_bytes); On 2015/05/21 10:38:17, Hannes Payer wrote: ...
5 years, 7 months ago (2015-05-21 10:55:45 UTC) #8
Hannes Payer (out of office)
This cl seems to be in a strange merge state with an older version of ...
5 years, 7 months ago (2015-05-22 10:56:15 UTC) #9
bbudge
On 2015/05/22 10:56:15, Hannes Payer wrote: > This cl seems to be in a strange ...
5 years, 7 months ago (2015-05-22 11:25:49 UTC) #10
bbudge
OK, I think this is ready for review. PTAL
5 years, 7 months ago (2015-05-22 12:39:46 UTC) #11
Hannes Payer (out of office)
looking good. just a few nits. https://codereview.chromium.org/1150593003/diff/200001/src/heap/heap.h File src/heap/heap.h (right): https://codereview.chromium.org/1150593003/diff/200001/src/heap/heap.h#newcode718 src/heap/heap.h:718: Please add comments ...
5 years, 7 months ago (2015-05-26 09:22:30 UTC) #12
bbudge
https://codereview.chromium.org/1150593003/diff/200001/src/heap/heap.h File src/heap/heap.h (right): https://codereview.chromium.org/1150593003/diff/200001/src/heap/heap.h#newcode718 src/heap/heap.h:718: On 2015/05/26 09:22:29, Hannes Payer wrote: > Please add ...
5 years, 7 months ago (2015-05-26 11:09:18 UTC) #13
Hannes Payer (out of office)
Cool! I left a few comments about the tests. https://codereview.chromium.org/1150593003/diff/260001/test/cctest/test-heap.cc File test/cctest/test-heap.cc (right): https://codereview.chromium.org/1150593003/diff/260001/test/cctest/test-heap.cc#newcode1841 test/cctest/test-heap.cc:1841: ...
5 years, 7 months ago (2015-05-27 14:12:45 UTC) #14
bbudge
PTAL https://codereview.chromium.org/1150593003/diff/260001/test/cctest/test-heap.cc File test/cctest/test-heap.cc (right): https://codereview.chromium.org/1150593003/diff/260001/test/cctest/test-heap.cc#newcode1841 test/cctest/test-heap.cc:1841: // cause exactly one filler object to be ...
5 years, 6 months ago (2015-05-28 09:28:33 UTC) #15
Hannes Payer (out of office)
Cool thanks. LGTM
5 years, 6 months ago (2015-05-28 13:57:07 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1150593003/300001
5 years, 6 months ago (2015-05-28 17:18:11 UTC) #18
commit-bot: I haz the power
Committed patchset #14 (id:300001)
5 years, 6 months ago (2015-05-28 17:19:47 UTC) #19
commit-bot: I haz the power
Patchset 14 (id:??) landed as https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84 Cr-Commit-Position: refs/heads/master@{#28687}
5 years, 6 months ago (2015-05-28 17:20:07 UTC) #20
bbudge
A revert of this CL (patchset #14 id:300001) has been created in https://codereview.chromium.org/1159123002/ by bbudge@chromium.org. ...
5 years, 6 months ago (2015-05-28 17:57:07 UTC) #21
bbudge
There were two problems with the previous CL. 1) DoubleAlignForDeserialization treated the size parameter as ...
5 years, 6 months ago (2015-05-29 10:22:45 UTC) #22
Hannes Payer (out of office)
On 2015/05/29 10:22:45, bbudge wrote: > There were two problems with the previous CL. > ...
5 years, 6 months ago (2015-05-29 13:15:38 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1150593003/320001
5 years, 6 months ago (2015-05-29 13:16:32 UTC) #25
commit-bot: I haz the power
Committed patchset #15 (id:320001)
5 years, 6 months ago (2015-05-29 13:18:19 UTC) #26
commit-bot: I haz the power
5 years, 6 months ago (2015-05-29 13:18:37 UTC) #27
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/43638cd4e8b8372ca5b002eef565ec0e75ac5972
Cr-Commit-Position: refs/heads/master@{#28702}

Powered by Google App Engine
This is Rietveld 408576698