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

Unified Diff: src/ic/ic.cc

Issue 1138483005: Reland "Mark internal AccessorInfo properties as 'special data properties'" (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/accessors.cc ('k') | src/lookup.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ic/ic.cc
diff --git a/src/ic/ic.cc b/src/ic/ic.cc
index 387c1cfc567495f0e731301e63e5800a67cdb70e..b275394be89192113a7b89de87a51af8c41f6ccd 100644
--- a/src/ic/ic.cc
+++ b/src/ic/ic.cc
@@ -1664,7 +1664,9 @@ Handle<Code> StoreIC::CompileHandler(LookupIterator* lookup,
break;
}
Handle<Object> accessors = lookup->GetAccessors();
- if (accessors->IsExecutableAccessorInfo()) {
+ if (accessors->IsExecutableAccessorInfo() &&
+ (!AccessorInfo::cast(*accessors)->is_special_data_property() ||
Igor Sheludko 2015/05/18 11:53:15 Maybe it's better to handle special data property
+ lookup->HolderIsReceiverOrHiddenPrototype())) {
Handle<ExecutableAccessorInfo> info =
Handle<ExecutableAccessorInfo>::cast(accessors);
if (v8::ToCData<Address>(info->setter()) == 0) {
« no previous file with comments | « src/accessors.cc ('k') | src/lookup.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698