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

Issue 10001012: Try aligning unboxed double array backing store in allocation or scavenge promotion. (Closed)

Created:
8 years, 8 months ago by Vyacheslav Egorov (Chromium)
Modified:
8 years, 7 months ago
Reviewers:
Erik Corry
CC:
v8-dev
Visibility:
Public.

Description

Try aligning unboxed double array backing store in allocation or scavenge promotion. This CL does not align them during compaction or mark-sweep promotion because we are not using specialized evacuation visitors. R=erik.corry@gmail.com Committed: https://code.google.com/p/v8/source/detail?r=11344

Patch Set 1 #

Total comments: 13
Unified diffs Side-by-side diffs Delta from patch set Stats (+96 lines, -19 lines) Patch
M src/heap.cc View 15 chunks +73 lines, -18 lines 7 comments Download
M src/ia32/codegen-ia32.cc View 1 chunk +15 lines, -1 line 5 comments Download
M src/ia32/stub-cache-ia32.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/v8globals.h View 1 chunk +7 lines, -0 lines 1 comment Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Chromium)
8 years, 8 months ago (2012-04-16 14:21:56 UTC) #1
Erik Corry
LGTM https://chromiumcodereview.appspot.com/10001012/diff/1/src/heap.cc File src/heap.cc (right): https://chromiumcodereview.appspot.com/10001012/diff/1/src/heap.cc#newcode1490 src/heap.cc:1490: int size)) { This assumes that there is ...
8 years, 8 months ago (2012-04-16 14:35:19 UTC) #2
Vyacheslav Egorov (Chromium)
8 years, 7 months ago (2012-04-30 14:39:11 UTC) #3
landed (mailing my draft comments)

http://codereview.chromium.org/10001012/diff/1/src/heap.cc
File src/heap.cc (right):

http://codereview.chromium.org/10001012/diff/1/src/heap.cc#newcode1490
src/heap.cc:1490: int size)) {
On 2012/04/16 14:35:19, Erik Corry wrote:
> This assumes that there is an even number of header fields ahead of the double
> fields.  Add static assertion?

Done.

http://codereview.chromium.org/10001012/diff/1/src/heap.cc#newcode1642
src/heap.cc:1642: if (alignment == DOUBLE_ALIGNED) {
On 2012/04/16 14:35:19, Erik Corry wrote:
> You can replace this with
> if (kPointerSize != alignment)
> and get it folded away on 64 bit without having an ifdef.  Also several other
> places.

Done.

http://codereview.chromium.org/10001012/diff/1/src/heap.cc#newcode1642
src/heap.cc:1642: if (alignment == DOUBLE_ALIGNED) {
On 2012/04/16 14:35:19, Erik Corry wrote:
> You can replace this with
> if (kPointerSize != alignment)
> and get it folded away on 64 bit without having an ifdef.  Also several other
> places.

Done.

http://codereview.chromium.org/10001012/diff/1/src/ia32/codegen-ia32.cc
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/10001012/diff/1/src/ia32/codegen-ia32.cc#newco...
src/ia32/codegen-ia32.cc:400: __ lea(esi, Operand(edi, times_4,
FixedDoubleArray::kHeaderSize + kPointerSize));
On 2012/04/16 14:35:19, Erik Corry wrote:
> Lint?

Done.

http://codereview.chromium.org/10001012/diff/1/src/ia32/codegen-ia32.cc#newco...
src/ia32/codegen-ia32.cc:409: __ j(zero, &aligned_done, Label::kNear);
On 2012/04/16 14:35:19, Erik Corry wrote:
> Why is this branch conditional?

Done.

Powered by Google App Engine
This is Rietveld 408576698