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

Issue 460043: Always 64-bit align floating point values in heap numbers.... (Closed)

Created:
11 years ago by Erik Corry
Modified:
9 years, 7 months ago
Reviewers:
CC:
v8-dev
Visibility:
Public.

Description

Always 64-bit align floating point values in heap numbers. This is done by reserving 12 bytes for the 8-byte double precision heap number payload and then storing the actual number at an aligned address. The change doesn't seem to pay off, at least not enough to justify the complexity, so I won't be committing it. My benchmarking was on Intel 32 bit with SSE2. I'll leave it on the code review tool to serve as a starting point in case someone wants to implement something similar on an architecture where it pays off more or where unaligned loads are illegal. Known limitations: * Doesn't work with snapshots. To fix this the serializer would have to move the doubles in the heap numbers so they are in the right place after deserialization. * Only implemented for IA32 and only tested on IA32+SSE2. Doubles are already aligned on x64 so getting it to compile on x64 should be simple enough. For ARM some work would be needed along similar lines to the IA32 changes.

Patch Set 1 #

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -69 lines) Patch
M src/heap.cc View 4 chunks +24 lines, -7 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 17 chunks +75 lines, -35 lines 0 comments Download
M src/ia32/ic-ia32.cc View 3 chunks +8 lines, -4 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 chunk +10 lines, -0 lines 0 comments Download
M src/mark-compact.cc View 5 chunks +42 lines, -7 lines 0 comments Download
M src/objects.h View 2 chunks +29 lines, -7 lines 0 comments Download
M src/objects-inl.h View 4 chunks +12 lines, -9 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Erik Corry
11 years ago (2009-12-03 12:33:33 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698