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

Issue 151019: Changed the global object representation (Closed)

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

Description

Changed the global object representation.The global object is now always in dictionary (slow) mode with each of its properties stored in a cell object. A cell object has one field containing the actual value for the property. Inline caches for access to global properties which uses direct to the cell are now created for load, store and call to properties of the global object. When properties of the global object are deleted the cell for that property is kept with an indcation of that the property is deleted.Added counters to track the use of the global property inline caches.Added additional information on IC's in the disassembler. Committed: http://code.google.com/p/v8/source/detail?r=2300

Patch Set 1 #

Total comments: 16

Patch Set 2 : '' #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+951 lines, -124 lines) Patch
M src/arm/ic-arm.cc View 1 1 chunk +6 lines, -2 lines 0 comments Download
M src/arm/stub-cache-arm.cc View 1 4 chunks +133 lines, -0 lines 0 comments Download
M src/bootstrapper.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M src/disassembler.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/factory.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/factory.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/heap.h View 1 3 chunks +13 lines, -0 lines 0 comments Download
M src/heap.cc View 1 5 chunks +51 lines, -1 line 0 comments Download
M src/ia32/ic-ia32.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 4 chunks +135 lines, -0 lines 0 comments Download
M src/ic.cc View 3 chunks +52 lines, -13 lines 0 comments Download
M src/objects.h View 1 14 chunks +68 lines, -9 lines 0 comments Download
M src/objects.cc View 45 chunks +222 lines, -75 lines 0 comments Download
M src/objects-debug.cc View 5 chunks +21 lines, -1 line 0 comments Download
M src/objects-inl.h View 4 chunks +17 lines, -0 lines 0 comments Download
M src/property.h View 3 chunks +10 lines, -3 lines 0 comments Download
M src/runtime.cc View 5 chunks +12 lines, -18 lines 0 comments Download
M src/stub-cache.h View 6 chunks +28 lines, -0 lines 0 comments Download
M src/stub-cache.cc View 3 chunks +59 lines, -0 lines 0 comments Download
M src/v8-counters.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 3 chunks +25 lines, -0 lines 0 comments Download
M test/cctest/test-api.cc View 3 chunks +67 lines, -0 lines 2 comments Download

Messages

Total messages: 5 (0 generated)
Søren Thygesen Gjesse
11 years, 5 months ago (2009-06-29 11:58:03 UTC) #1
Kasper Lund
LGTM. http://codereview.chromium.org/151019/diff/1/18 File src/arm/ic-arm.cc (right): http://codereview.chromium.org/151019/diff/1/18#newcode76 Line 76: __ ldr(t0, FieldMemOperand(t1, JSObject::kMapOffset)); We're really loading ...
11 years, 5 months ago (2009-06-29 12:52:55 UTC) #2
Mads Ager (chromium)
There is a security check issue with this change. Through the API, we allow enabling ...
11 years, 5 months ago (2009-06-29 13:59:06 UTC) #3
Søren Thygesen Gjesse
Changed the identity check for the global object into a map check to handle the ...
11 years, 5 months ago (2009-06-30 09:53:44 UTC) #4
Mads Ager (chromium)
11 years, 5 months ago (2009-06-30 10:07:32 UTC) #5
LGTM, thanks!

http://codereview.chromium.org/151019/diff/1014/1036
File test/cctest/test-api.cc (right):

http://codereview.chromium.org/151019/diff/1014/1036#newcode6152
Line 6152: // inline cache is used.
remove 'is used'

http://codereview.chromium.org/151019/diff/1014/1036#newcode6153
Line 6153: CHECK(!f1->Call(global, 0, NULL)->IsUndefined());
Maybe check that it is actually '1' in these cases?

Powered by Google App Engine
This is Rietveld 408576698