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

Issue 6665026: 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
CC:
v8-dev, Kasper Lund
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. Committed: http://code.google.com/p/v8/source/detail?r=7212

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 6

Patch Set 4 : '' #

Patch Set 5 : '' #

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

Messages

Total messages: 5 (0 generated)
Søren Thygesen Gjesse
If this looks good I will port it to the other platforms. I will do ...
9 years, 9 months ago (2011-03-11 13:36:50 UTC) #1
fschneider
I can review, since I have an almost identical cl.
9 years, 9 months ago (2011-03-11 13:52:04 UTC) #2
Søren Thygesen Gjesse
I have now refactored to distinguish better between the load from a cell and using ...
9 years, 9 months ago (2011-03-16 08:22:03 UTC) #3
fschneider
LGTM. http://codereview.chromium.org/6665026/diff/7002/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): http://codereview.chromium.org/6665026/diff/7002/src/arm/full-codegen-arm.cc#newcode3808 src/arm/full-codegen-arm.cc:3808: PrepareForBailout(expr->increment(), TOS_REG); I think it does not hurt ...
9 years, 9 months ago (2011-03-16 10:28:18 UTC) #4
Søren Thygesen Gjesse
9 years, 9 months ago (2011-03-17 07:52:27 UTC) #5
http://codereview.chromium.org/6665026/diff/7002/src/arm/full-codegen-arm.cc
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/6665026/diff/7002/src/arm/full-codegen-arm.cc#...
src/arm/full-codegen-arm.cc:3808: PrepareForBailout(expr->increment(), TOS_REG);
On 2011/03/16 10:28:18, fschneider wrote:
> I think it does not hurt here, but shouldn't this bailout be prepared only for
> named and keyed properties then?

That looks right, done (on all platforms).

http://codereview.chromium.org/6665026/diff/7002/src/hydrogen.cc
File src/hydrogen.cc (right):

http://codereview.chromium.org/6665026/diff/7002/src/hydrogen.cc#newcode2814
src/hydrogen.cc:2814: return kUseGeneric;
On 2011/03/16 10:28:18, fschneider wrote:
> I'd move this into the same line as the if-statement, if it fits. (also in the
> ones below)

Done.

http://codereview.chromium.org/6665026/diff/7002/src/ia32/lithium-codegen-ia3...
File src/ia32/lithium-codegen-ia32.cc (right):

http://codereview.chromium.org/6665026/diff/7002/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:2038: __ mov(eax, Operand(esi,
Context::SlotOffset(Context::GLOBAL_INDEX)));
On 2011/03/16 10:28:18, fschneider wrote:
> You could consider making LoadGlobalGeneric take two iput operands: the
context
> in esi and the global object in eax, so you don't need to reload it here. In
the
> hydrogen IR there exists already a HGlobalObject instruction.

Done.

Powered by Google App Engine
This is Rietveld 408576698