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

Issue 10831153: Improve load IC so it can call a native accessor even if the holder is (Closed)

Created:
8 years, 4 months ago by Erik Corry
Modified:
8 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Improve load IC so it can call a native accessor even if the holder is in dictionary mode. Add a flag to all maps to indicate whether they are used for dictionary (normalized) objects or fast mode objects. Committed: https://code.google.com/p/v8/source/detail?r=12264

Patch Set 1 #

Patch Set 2 : #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+1391 lines, -1140 lines) Patch
M benchmarks/regexp.js View 13 chunks +1132 lines, -1106 lines 0 comments Download
M benchmarks/run.js View 1 chunk +7 lines, -7 lines 2 comments Download
M src/arm/stub-cache-arm.cc View 1 2 chunks +41 lines, -0 lines 2 comments Download
M src/bootstrapper.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/heap.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 7 chunks +28 lines, -7 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 2 chunks +41 lines, -0 lines 1 comment Download
M src/ic.cc View 2 chunks +0 lines, -2 lines 2 comments Download
M src/objects.h View 3 chunks +10 lines, -1 line 0 comments Download
M src/objects.cc View 7 chunks +8 lines, -1 line 2 comments Download
M src/objects-inl.h View 2 chunks +12 lines, -0 lines 0 comments Download
M src/stub-cache.h View 1 chunk +9 lines, -0 lines 0 comments Download
M src/type-info.cc View 2 chunks +11 lines, -8 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 2 chunks +42 lines, -0 lines 0 comments Download
M test/cctest/test-api.cc View 2 chunks +41 lines, -8 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Erik Corry
8 years, 4 months ago (2012-08-03 13:28:28 UTC) #1
Toon Verwaest
lgtm with nits. http://codereview.chromium.org/10831153/diff/2002/benchmarks/run.js File benchmarks/run.js (right): http://codereview.chromium.org/10831153/diff/2002/benchmarks/run.js#newcode37 benchmarks/run.js:37: //load('navier-stokes.js'); Probably shouldn't disable the benchmarks? ...
8 years, 4 months ago (2012-08-06 13:49:24 UTC) #2
Erik Corry
http://codereview.chromium.org/10831153/diff/2002/benchmarks/run.js File benchmarks/run.js (right): http://codereview.chromium.org/10831153/diff/2002/benchmarks/run.js#newcode37 benchmarks/run.js:37: //load('navier-stokes.js'); On 2012/08/06 13:49:24, Toon Verwaest wrote: > Probably ...
8 years, 4 months ago (2012-08-06 14:26:46 UTC) #3
Michael Starzinger
8 years, 4 months ago (2012-08-13 17:47:16 UTC) #4
I have some drive-by comments for this CL.

https://chromiumcodereview.appspot.com/10831153/diff/2002/src/ia32/stub-cache...
File src/ia32/stub-cache-ia32.cc (right):

https://chromiumcodereview.appspot.com/10831153/diff/2002/src/ia32/stub-cache...
src/ia32/stub-cache-ia32.cc:1110: receiver, name_reg, scratch1, scratch2,
scratch3, callback, name, miss);
This performs a dictionary lookup on the receiver, not the holder, we should use
"reg" instead of "receiver" in this call.

https://chromiumcodereview.appspot.com/10831153/diff/2002/src/ic.cc
File src/ic.cc (left):

https://chromiumcodereview.appspot.com/10831153/diff/2002/src/ic.cc#oldcode992
src/ic.cc:992: if (!holder->HasFastProperties()) return;
What about the KeyedLoadIC?

https://chromiumcodereview.appspot.com/10831153/diff/2002/src/ic.cc#oldcode1000
src/ic.cc:1000: if (!holder->HasFastProperties()) return;
Why can we generate a JavaScript getter call for a slow holder now? We are not
doing any positive dictionary lookup there.

Powered by Google App Engine
This is Rietveld 408576698