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

Issue 565034: Fast compiler: Load globals variables directly from property cells.... (Closed)

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

Description

Fast compiler: Load globals variables directly from property cells. This is a first step towards loading globals directly from property cells instead of going through a load IC. This change supports only properties with the DontDelete attribute since we are only able to bailout into the generic code generated by the secondary code generator the beginning of a function. The resulting fast-case code is specialized for a specific context. When invoked with a different global object, it will always bailout to the secondary code. When loading a property that does not exist at compile-time or a property that is deleteable we still generate the generic load IC. Committed: http://code.google.com/p/v8/source/detail?r=3808

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 18

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 16

Patch Set 5 : '' #

Patch Set 6 : Last fixes #

Patch Set 7 : Merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+265 lines, -90 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 2 3 4 5 6 3 chunks +36 lines, -26 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 5 6 1 chunk +15 lines, -0 lines 0 comments Download
M src/compiler.h View 1 2 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M src/data-flow.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M src/fast-codegen.h View 1 2 3 4 5 6 2 chunks +9 lines, -9 lines 0 comments Download
M src/fast-codegen.cc View 1 2 3 4 5 6 2 chunks +20 lines, -2 lines 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 1 2 3 4 5 6 3 chunks +35 lines, -26 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 5 6 1 chunk +13 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 2 3 4 5 6 3 chunks +36 lines, -26 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 5 6 1 chunk +12 lines, -0 lines 0 comments Download
A test/mjsunit/compiler/simple-global-access.js View 1 2 3 4 1 chunk +51 lines, -0 lines 0 comments Download
M test/mjsunit/typeof.js View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (0 generated)
fschneider
10 years, 10 months ago (2010-02-03 13:31:46 UTC) #1
Kevin Millikin (Chromium)
I don't think the global object of the caller is the one you want to ...
10 years, 10 months ago (2010-02-03 14:22:20 UTC) #2
fschneider
Addressed comments + Merged with Kevin's change. http://codereview.chromium.org/565034/diff/4001/4020 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/565034/diff/4001/4020#newcode64 src/arm/fast-codegen-arm.cc:64: void FastCodeGenerator::EmitGlobalMapCheck() ...
10 years, 10 months ago (2010-02-03 17:00:13 UTC) #3
fschneider
+ Simplified lookup of property cells according to comments. + Fixed a bunch of lint ...
10 years, 10 months ago (2010-02-04 10:04:11 UTC) #4
Kevin Millikin (Chromium)
Looks good. I think you should refactor the explicit EmitXXXMapCheck functions, they won't scale well. ...
10 years, 10 months ago (2010-02-05 09:48:08 UTC) #5
fschneider
New version with comments addressed. http://codereview.chromium.org/565034/diff/8001/9008 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/565034/diff/8001/9008#newcode64 src/arm/fast-codegen-arm.cc:64: void FastCodeGenerator::EmitGlobalMapCheck() { On ...
10 years, 10 months ago (2010-02-05 12:50:57 UTC) #6
Kevin Millikin (Chromium)
10 years, 10 months ago (2010-02-05 13:18:25 UTC) #7
Please change info_-> to an accessor info()->.  Otherwise, LGTM.

Powered by Google App Engine
This is Rietveld 408576698