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

Issue 5720005: Add an untagged double to transcendental cache elements. They now contain an... (Closed)

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

Description

Add an untagged double to transcendental cache elements. They now contain an untagged double key, an optional tagged answer, and an untagged answer. Untagged transcendental operations now do not need to allocate on a cache miss.

Patch Set 1 #

Total comments: 8

Patch Set 2 : '' #

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -19 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M src/heap.h View 1 2 3 chunks +16 lines, -3 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 chunks +24 lines, -10 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 1 chunk +15 lines, -3 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
William Hesse
10 years ago (2010-12-13 15:38:29 UTC) #1
Erik Corry
10 years ago (2010-12-13 20:26:13 UTC) #2
Drive by...

LGTM

http://codereview.chromium.org/5720005/diff/1/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):

http://codereview.chromium.org/5720005/diff/1/src/arm/code-stubs-arm.cc#newco...
src/arm/code-stubs-arm.cc:2276: // Two uint_32's, a pointer, and an untagged
double.
Not your error, but the type is called uint32_t.

http://codereview.chromium.org/5720005/diff/1/src/heap.h
File src/heap.h (right):

http://codereview.chromium.org/5720005/diff/1/src/heap.h#newcode2051
src/heap.h:2051: static const int kElementSize = sizeof (Element);
There should really be some constants here that you can use in the architecture
dependent files.  All that 3 * kIntSize is rather nasty.  If you put the pointer
last the offsets will be independent of 32 or 64 bit.

http://codereview.chromium.org/5720005/diff/1/src/ia32/code-stubs-ia32.cc
File src/ia32/code-stubs-ia32.cc (right):

http://codereview.chromium.org/5720005/diff/1/src/ia32/code-stubs-ia32.cc#new...
src/ia32/code-stubs-ia32.cc:2566: __ j(zero, &allocate_cached_answer);  // The
answer is cached as untagged.
"is cached, but only as untagged".

http://codereview.chromium.org/5720005/diff/1/src/ia32/code-stubs-ia32.cc#new...
src/ia32/code-stubs-ia32.cc:2753: CHECK_EQ(20, elem2_start - elem_start);  //
Two uint_32's and a pointer.
Comment is now wrong and type has wrong name.

http://codereview.chromium.org/5720005/diff/1/src/x64/code-stubs-x64.cc
File src/x64/code-stubs-x64.cc (right):

http://codereview.chromium.org/5720005/diff/1/src/x64/code-stubs-x64.cc#newco...
src/x64/code-stubs-x64.cc:1073: // Two uint_32's and a pointer per element.
Wrong type name and out of date comment.

http://codereview.chromium.org/5720005/diff/1/src/x64/code-stubs-x64.cc#newco...
src/x64/code-stubs-x64.cc:1081: // Find the address of the rcx'th entry in the
cache, i.e., &rax[rcx*16].
Out of date comment.

http://codereview.chromium.org/5720005/diff/1/src/x64/code-stubs-x64.cc#newco...
src/x64/code-stubs-x64.cc:1085: Label cache_miss;
Surely this is still within range of a NearLabel.

http://codereview.chromium.org/5720005/diff/1/src/x64/code-stubs-x64.cc#newco...
src/x64/code-stubs-x64.cc:1093: __ j(zero, &allocate_cached_answer);  // The
answer is cached as untagged.
Comment could be clearer again.

Powered by Google App Engine
This is Rietveld 408576698