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

Issue 1277001: Store type information with constants. ... (Closed)

Created:
10 years, 9 months ago by fschneider
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Store type information with constants. Instead of testing the value of a constant frame element to determine the type we compute its type information at construction time. This speeds up querying the type information during code generation. This change also adds support for Integer32 constants and sets the type information accordingly. Committed: http://code.google.com/p/v8/source/detail?r=4256

Patch Set 1 #

Patch Set 2 : Fixed linto #

Total comments: 8

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -45 lines) Patch
M src/frame-element.h View 1 2 4 chunks +6 lines, -11 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 5 chunks +6 lines, -6 lines 0 comments Download
M src/number-info.h View 1 2 9 chunks +26 lines, -10 lines 0 comments Download
A src/number-info-inl.h View 1 chunk +55 lines, -0 lines 0 comments Download
M src/register-allocator.h View 1 2 3 chunks +4 lines, -3 lines 0 comments Download
M src/register-allocator-inl.h View 1 2 2 chunks +3 lines, -9 lines 0 comments Download
M src/x64/virtual-frame-x64.cc View 1 chunk +1 line, -6 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M tools/visual_studio/v8_base.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_arm.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_x64.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
10 years, 9 months ago (2010-03-24 13:43:56 UTC) #1
Lasse Reichstein
LGTM http://codereview.chromium.org/1277001/diff/6001/7003 File src/frame-element.h (right): http://codereview.chromium.org/1277001/diff/6001/7003#newcode110 src/frame-element.h:110: : NumberInfo::HeapNumber(); Naming is inconsistent. Integer32 is a ...
10 years, 9 months ago (2010-03-24 13:58:02 UTC) #2
fschneider
10 years, 9 months ago (2010-03-24 15:26:25 UTC) #3
http://codereview.chromium.org/1277001/diff/6001/7003
File src/frame-element.h (right):

http://codereview.chromium.org/1277001/diff/6001/7003#newcode110
src/frame-element.h:110: : NumberInfo::HeapNumber();
On 2010/03/24 13:58:02, Lasse Reichstein wrote:
> Naming is inconsistent. Integer32 is a specification level type, and
HeapNumber
> is an implementation type. How about renaming HeapNumber to Double?

Yes, we have a mix here. I'm not sure what the best convention is here, but I
also like Double better.

http://codereview.chromium.org/1277001/diff/6001/7003#newcode113
src/frame-element.h:113: }
On 2010/03/24 13:58:02, Lasse Reichstein wrote:
> No string types? :)

I decided to not produce string type yet, since it is not yet used in the code
generator. I plan to add it as a separate change.

http://codereview.chromium.org/1277001/diff/6001/7002
File src/number-info.h (right):

http://codereview.chromium.org/1277001/diff/6001/7002#newcode118
src/number-info.h:118: if (value >= -0x80000000 && value <= 0xffffffff) {
On 2010/03/24 13:58:02, Lasse Reichstein wrote:
> Add "u" after 0xffffffff to make it explicit that it's unsigned.

Done.

http://codereview.chromium.org/1277001/diff/6001/7001
File src/register-allocator.h (right):

http://codereview.chromium.org/1277001/diff/6001/7001#newcode81
src/register-allocator.h:81: }
On 2010/03/24 13:58:02, Lasse Reichstein wrote:
> This code seems to exist in more than one version. How about making a function
> in an -inl.h file for it?

Done.

Powered by Google App Engine
This is Rietveld 408576698