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

Side by Side Diff: src/objects.cc

Issue 1468933004: Allow in-object properties in JSCollections, JSWeakCollections and JSRegExp. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years 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 | « src/objects.h ('k') | src/objects-body-descriptors-inl.h » ('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 "src/objects.h" 5 #include "src/objects.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <iomanip> 8 #include <iomanip>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 12039 matching lines...) Expand 10 before | Expand all | Expand 10 after
12050 bool CanSubclassHaveInobjectProperties(InstanceType instance_type) { 12050 bool CanSubclassHaveInobjectProperties(InstanceType instance_type) {
12051 switch (instance_type) { 12051 switch (instance_type) {
12052 case JS_OBJECT_TYPE: 12052 case JS_OBJECT_TYPE:
12053 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: 12053 case JS_CONTEXT_EXTENSION_OBJECT_TYPE:
12054 case JS_GENERATOR_OBJECT_TYPE: 12054 case JS_GENERATOR_OBJECT_TYPE:
12055 case JS_MODULE_TYPE: 12055 case JS_MODULE_TYPE:
12056 case JS_VALUE_TYPE: 12056 case JS_VALUE_TYPE:
12057 case JS_DATE_TYPE: 12057 case JS_DATE_TYPE:
12058 case JS_ARRAY_TYPE: 12058 case JS_ARRAY_TYPE:
12059 case JS_MESSAGE_OBJECT_TYPE: 12059 case JS_MESSAGE_OBJECT_TYPE:
12060 case JS_SET_TYPE:
12061 case JS_MAP_TYPE:
12060 case JS_SET_ITERATOR_TYPE: 12062 case JS_SET_ITERATOR_TYPE:
12061 case JS_MAP_ITERATOR_TYPE: 12063 case JS_MAP_ITERATOR_TYPE:
12062 case JS_ITERATOR_RESULT_TYPE: 12064 case JS_ITERATOR_RESULT_TYPE:
12065 case JS_WEAK_MAP_TYPE:
12066 case JS_WEAK_SET_TYPE:
12063 case JS_PROMISE_TYPE: 12067 case JS_PROMISE_TYPE:
12068 case JS_REGEXP_TYPE:
12064 case JS_FUNCTION_TYPE: 12069 case JS_FUNCTION_TYPE:
12065 return true; 12070 return true;
12066 12071
12067 case JS_TYPED_ARRAY_TYPE: 12072 case JS_TYPED_ARRAY_TYPE:
12068 case JS_DATA_VIEW_TYPE: 12073 case JS_DATA_VIEW_TYPE:
12069 case JS_REGEXP_TYPE:
12070 case JS_SET_TYPE:
12071 case JS_MAP_TYPE:
12072 case JS_PROXY_TYPE: 12074 case JS_PROXY_TYPE:
12073 case JS_FUNCTION_PROXY_TYPE: 12075 case JS_FUNCTION_PROXY_TYPE:
12074 case JS_WEAK_MAP_TYPE:
12075 case JS_WEAK_SET_TYPE:
12076 case JS_ARRAY_BUFFER_TYPE: 12076 case JS_ARRAY_BUFFER_TYPE:
12077 return false; 12077 return false;
12078 12078
12079 case JS_GLOBAL_PROXY_TYPE: 12079 case JS_GLOBAL_PROXY_TYPE:
12080 case JS_GLOBAL_OBJECT_TYPE: 12080 case JS_GLOBAL_OBJECT_TYPE:
12081 case FIXED_ARRAY_TYPE: 12081 case FIXED_ARRAY_TYPE:
12082 case FIXED_DOUBLE_ARRAY_TYPE: 12082 case FIXED_DOUBLE_ARRAY_TYPE:
12083 case ODDBALL_TYPE: 12083 case ODDBALL_TYPE:
12084 case FOREIGN_TYPE: 12084 case FOREIGN_TYPE:
12085 case MAP_TYPE: 12085 case MAP_TYPE:
(...skipping 6462 matching lines...) Expand 10 before | Expand all | Expand 10 after
18548 if (cell->value() != *new_value) { 18548 if (cell->value() != *new_value) {
18549 cell->set_value(*new_value); 18549 cell->set_value(*new_value);
18550 Isolate* isolate = cell->GetIsolate(); 18550 Isolate* isolate = cell->GetIsolate();
18551 cell->dependent_code()->DeoptimizeDependentCodeGroup( 18551 cell->dependent_code()->DeoptimizeDependentCodeGroup(
18552 isolate, DependentCode::kPropertyCellChangedGroup); 18552 isolate, DependentCode::kPropertyCellChangedGroup);
18553 } 18553 }
18554 } 18554 }
18555 18555
18556 } // namespace internal 18556 } // namespace internal
18557 } // namespace v8 18557 } // namespace v8
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/objects-body-descriptors-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698