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

Issue 1975763002: [runtime] Make sure that LookupIterator::OWN always performs a HIDDEN lookup as well. (Closed)

Created:
4 years, 7 months ago by Toon Verwaest
Modified:
4 years, 7 months ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[runtime] Make sure that LookupIterator::OWN always performs a HIDDEN lookup as well. Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail. Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes. Committed: https://crrev.com/c9a83150e0440b30c4317db4d6cfe70a09557243 Cr-Commit-Position: refs/heads/master@{#36235}

Patch Set 1 #

Patch Set 2 : Addressed comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -51 lines) Patch
M src/accessors.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/builtins.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/js-global-object-specialization.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/ic/ic.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/lookup.h View 3 chunks +5 lines, -14 lines 0 comments Download
M src/lookup.cc View 1 chunk +1 line, -11 lines 0 comments Download
M src/objects.cc View 10 chunks +9 lines, -10 lines 0 comments Download
M src/objects-inl.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/runtime/runtime-debug.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-object.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M src/runtime/runtime-scopes.cc View 3 chunks +3 lines, -5 lines 0 comments Download

Messages

Total messages: 13 (6 generated)
Toon Verwaest
bmeurer: ptal compiler ishell: ptal everything else
4 years, 7 months ago (2016-05-12 11:35:47 UTC) #3
Benedikt Meurer
LGTM on compiler/crankshaft.
4 years, 7 months ago (2016-05-12 11:36:44 UTC) #4
Igor Sheludko
Please check that you don't hit the hidden prototype in case of the IsJSGlobalObject() in ...
4 years, 7 months ago (2016-05-13 08:55:07 UTC) #5
Toon Verwaest
addressed comment. landing.
4 years, 7 months ago (2016-05-13 10:59:24 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1975763002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1975763002/20001
4 years, 7 months ago (2016-05-13 11:00:01 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-05-13 11:33:23 UTC) #11
commit-bot: I haz the power
4 years, 7 months ago (2016-05-13 11:33:43 UTC) #13
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/c9a83150e0440b30c4317db4d6cfe70a09557243
Cr-Commit-Position: refs/heads/master@{#36235}

Powered by Google App Engine
This is Rietveld 408576698