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

Issue 63083002: MIPS: Correct handling of arrays with callbacks in the prototype chain. (Closed)

Created:
7 years, 1 month ago by kilvadyb
Modified:
7 years, 1 month ago
CC:
v8-dev
Base URL:
git@github.com:paul99/v8m-rb.git@master
Visibility:
Public.

Description

MIPS: Correct handling of arrays with callbacks in the prototype chain. Port r17525 (55b95f3) Original commit message: Our generic KeyedStoreIC doesn't handle the case when a callback is set on array elements in the prototype chain of the object, nor do we recognize that we need to avoid the monomorphic case if these callbacks exist. This CL addresses the issue by looking for dictionary elements in the prototype chain on IC misses and crankshaft element store instructions. When found, the generic IC is used. The generic IC is changed to go to the runtime in this case too. In general, keyed loads are immune from this problem because they won't return the hole: discovery of the hole goes to the runtime where the callback will be found in the prototype chain. Double array loads in crankshaft can return the hole but only if the prototype chain is unaltered (we will catch such alterations). Includes the following patch as well (already reviewed by bmeurer): Performance regression found in test regress-2185-2.js. The problem was that the bailout method for TransitionAndStoreStub was not performing the appropriate transition. (Review URL for the ElementsTransitionAndStoreIC_Miss change: https://codereview.chromium.org/26911007) BUG=

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -0 lines) Patch
M src/mips/ic-mips.cc View 2 chunks +31 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 chunk +24 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
kilvadyb
7 years, 1 month ago (2013-11-06 20:34:26 UTC) #1
Paul Lind
LGTM, I'll land this.
7 years, 1 month ago (2013-11-06 21:18:47 UTC) #2
Paul Lind
7 years, 1 month ago (2013-11-06 21:24:02 UTC) #3
Committed as r17535.

Powered by Google App Engine
This is Rietveld 408576698