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

Issue 6758007: Increase coverage of global loads in optimized code (Closed)

Created:
9 years, 9 months ago by Søren Thygesen Gjesse
Modified:
9 years, 7 months ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Increase coverage of global loads in optimized code In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out. This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node. Committed: http://code.google.com/p/v8/source/detail?r=7474

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+375 lines, -123 lines) Patch
M src/arm/full-codegen-arm.cc View 1 2 3 2 chunks +10 lines, -7 lines 0 comments Download
M src/arm/lithium-arm.h View 1 2 3 2 chunks +20 lines, -4 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 1 chunk +9 lines, -2 lines 2 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 2 chunks +13 lines, -1 line 2 comments Download
M src/ast.h View 1 2 3 3 chunks +7 lines, -2 lines 0 comments Download
M src/ast.cc View 1 2 3 2 chunks +19 lines, -19 lines 2 comments Download
M src/checks.h View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 chunks +12 lines, -3 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 8 chunks +68 lines, -45 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 chunks +38 lines, -5 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 1 chunk +6 lines, -1 line 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 2 chunks +10 lines, -7 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 2 chunks +14 lines, -1 line 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 2 chunks +22 lines, -4 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 2 chunks +11 lines, -3 lines 0 comments Download
M src/parser.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M src/scopes.h View 1 2 3 2 chunks +6 lines, -2 lines 0 comments Download
M src/scopes.cc View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 2 chunks +10 lines, -7 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 2 chunks +13 lines, -1 line 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 2 chunks +20 lines, -4 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 1 chunk +9 lines, -2 lines 0 comments Download
A test/mjsunit/compiler/global-accessors.js View 1 chunk +47 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Søren Thygesen Gjesse
The original patch is in patch set 1 and 2 and patch set 3 is ...
9 years, 8 months ago (2011-04-01 10:56:05 UTC) #1
fschneider
LGTM. http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-arm.cc File src/arm/lithium-arm.cc (right): http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-arm.cc#newcode1727 src/arm/lithium-arm.cc:1727: LLoadGlobalCell* result = new LLoadGlobalCell(); Should be enough ...
9 years, 8 months ago (2011-04-01 11:38:57 UTC) #2
Søren Thygesen Gjesse
9 years, 8 months ago (2011-04-01 11:47:31 UTC) #3
http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-arm.cc
File src/arm/lithium-arm.cc (right):

http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-arm.cc#newc...
src/arm/lithium-arm.cc:1727: LLoadGlobalCell* result = new LLoadGlobalCell();
On 2011/04/01 11:38:57, fschneider wrote:
> Should be enough to write:
> 
> new LLoadGlobalCell; 

Done.

http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (right):

http://codereview.chromium.org/6758007/diff/11008/src/arm/lithium-codegen-arm...
src/arm/lithium-codegen-arm.cc:2183: RelocInfo::Mode mode = instr->for_typeof()
? RelocInfo::CODE_TARGET :
On 2011/04/01 11:38:57, fschneider wrote:
> For consistency maybe align like
> 
> ? RelocInfo::CODE_TARGET
> : RelocInfo::CODE_TARGET_CONTEXT;

Done.

http://codereview.chromium.org/6758007/diff/11008/src/ast.cc
File src/ast.cc (right):

http://codereview.chromium.org/6758007/diff/11008/src/ast.cc#newcode96
src/ast.cc:96: // names must be canonicalized for fast equality checks
On 2011/04/01 11:38:57, fschneider wrote:
> -->Names must be canonicalized for fast equality checks.

Done.

Powered by Google App Engine
This is Rietveld 408576698