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

Side by Side Diff: src/objects.cc

Issue 1037213002: fix reconfigure of indexed integer exotic objects (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 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 unified diff | Download patch
« no previous file with comments | « no previous file | test/mjsunit/es6/indexed-integer-exotics.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <iomanip> 5 #include <iomanip>
6 #include <sstream> 6 #include <sstream>
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/accessors.h" 10 #include "src/accessors.h"
(...skipping 4144 matching lines...) Expand 10 before | Expand all | Expand 10 after
4155 Handle<Object> value, 4155 Handle<Object> value,
4156 PropertyAttributes attributes, 4156 PropertyAttributes attributes,
4157 ExecutableAccessorInfoHandling handling) { 4157 ExecutableAccessorInfoHandling handling) {
4158 DCHECK(!value->IsTheHole()); 4158 DCHECK(!value->IsTheHole());
4159 LookupIterator it(object, name, LookupIterator::OWN_SKIP_INTERCEPTOR); 4159 LookupIterator it(object, name, LookupIterator::OWN_SKIP_INTERCEPTOR);
4160 bool is_observed = object->map()->is_observed() && 4160 bool is_observed = object->map()->is_observed() &&
4161 !it.isolate()->IsInternallyUsedPropertyName(name); 4161 !it.isolate()->IsInternallyUsedPropertyName(name);
4162 for (; it.IsFound(); it.Next()) { 4162 for (; it.IsFound(); it.Next()) {
4163 switch (it.state()) { 4163 switch (it.state()) {
4164 case LookupIterator::INTEGER_INDEXED_EXOTIC: 4164 case LookupIterator::INTEGER_INDEXED_EXOTIC:
4165 return value;
4166
4165 case LookupIterator::INTERCEPTOR: 4167 case LookupIterator::INTERCEPTOR:
4166 case LookupIterator::JSPROXY: 4168 case LookupIterator::JSPROXY:
4167 case LookupIterator::NOT_FOUND: 4169 case LookupIterator::NOT_FOUND:
4168 case LookupIterator::TRANSITION: 4170 case LookupIterator::TRANSITION:
4169 UNREACHABLE(); 4171 UNREACHABLE();
4170 4172
4171 case LookupIterator::ACCESS_CHECK: 4173 case LookupIterator::ACCESS_CHECK:
4172 if (!it.isolate()->MayAccess(object)) { 4174 if (!it.isolate()->MayAccess(object)) {
4173 return SetPropertyWithFailedAccessCheck(&it, value, SLOPPY); 4175 return SetPropertyWithFailedAccessCheck(&it, value, SLOPPY);
4174 } 4176 }
(...skipping 12993 matching lines...) Expand 10 before | Expand all | Expand 10 after
17168 CompilationInfo* info) { 17170 CompilationInfo* info) {
17169 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo( 17171 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo(
17170 handle(cell->dependent_code(), info->isolate()), 17172 handle(cell->dependent_code(), info->isolate()),
17171 DependentCode::kPropertyCellChangedGroup, info->object_wrapper()); 17173 DependentCode::kPropertyCellChangedGroup, info->object_wrapper());
17172 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); 17174 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes);
17173 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( 17175 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add(
17174 cell, info->zone()); 17176 cell, info->zone());
17175 } 17177 }
17176 17178
17177 } } // namespace v8::internal 17179 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/es6/indexed-integer-exotics.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698