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

Side by Side Diff: src/objects-debug.cc

Issue 2348493003: [builtins] move String.prototype[@@iterator] to C++ builtin (Closed)
Patch Set: V8 (rebase + fix bytecode expectations) Created 4 years, 3 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 | « src/objects-body-descriptors-inl.h ('k') | src/objects-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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 "src/bootstrapper.h" 7 #include "src/bootstrapper.h"
8 #include "src/disasm.h" 8 #include "src/disasm.h"
9 #include "src/disassembler.h" 9 #include "src/disassembler.h"
10 #include "src/field-type.h" 10 #include "src/field-type.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 break; 145 break;
146 case JS_MAP_TYPE: 146 case JS_MAP_TYPE:
147 JSMap::cast(this)->JSMapVerify(); 147 JSMap::cast(this)->JSMapVerify();
148 break; 148 break;
149 case JS_SET_ITERATOR_TYPE: 149 case JS_SET_ITERATOR_TYPE:
150 JSSetIterator::cast(this)->JSSetIteratorVerify(); 150 JSSetIterator::cast(this)->JSSetIteratorVerify();
151 break; 151 break;
152 case JS_MAP_ITERATOR_TYPE: 152 case JS_MAP_ITERATOR_TYPE:
153 JSMapIterator::cast(this)->JSMapIteratorVerify(); 153 JSMapIterator::cast(this)->JSMapIteratorVerify();
154 break; 154 break;
155 case JS_STRING_ITERATOR_TYPE:
156 JSStringIterator::cast(this)->JSStringIteratorVerify();
157 break;
155 case JS_WEAK_MAP_TYPE: 158 case JS_WEAK_MAP_TYPE:
156 JSWeakMap::cast(this)->JSWeakMapVerify(); 159 JSWeakMap::cast(this)->JSWeakMapVerify();
157 break; 160 break;
158 case JS_WEAK_SET_TYPE: 161 case JS_WEAK_SET_TYPE:
159 JSWeakSet::cast(this)->JSWeakSetVerify(); 162 JSWeakSet::cast(this)->JSWeakSetVerify();
160 break; 163 break;
161 case JS_REGEXP_TYPE: 164 case JS_REGEXP_TYPE:
162 JSRegExp::cast(this)->JSRegExpVerify(); 165 JSRegExp::cast(this)->JSRegExpVerify();
163 break; 166 break;
164 case FILLER_TYPE: 167 case FILLER_TYPE:
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 } 775 }
773 776
774 777
775 void JSWeakMap::JSWeakMapVerify() { 778 void JSWeakMap::JSWeakMapVerify() {
776 CHECK(IsJSWeakMap()); 779 CHECK(IsJSWeakMap());
777 JSObjectVerify(); 780 JSObjectVerify();
778 VerifyHeapPointer(table()); 781 VerifyHeapPointer(table());
779 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate())); 782 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate()));
780 } 783 }
781 784
785 void JSStringIterator::JSStringIteratorVerify() {
786 CHECK(IsJSStringIterator());
787 JSObjectVerify();
788 CHECK(string()->IsString());
789 CHECK_GE(index(), 0);
790 CHECK_LE(index(), String::kMaxLength);
791 }
782 792
783 void JSWeakSet::JSWeakSetVerify() { 793 void JSWeakSet::JSWeakSetVerify() {
784 CHECK(IsJSWeakSet()); 794 CHECK(IsJSWeakSet());
785 JSObjectVerify(); 795 JSObjectVerify();
786 VerifyHeapPointer(table()); 796 VerifyHeapPointer(table());
787 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate())); 797 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate()));
788 } 798 }
789 799
790 800
791 void JSRegExp::JSRegExpVerify() { 801 void JSRegExp::JSRegExpVerify() {
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
1351 1361
1352 // Both are done at the same time. 1362 // Both are done at the same time.
1353 CHECK_EQ(new_it.done(), old_it.done()); 1363 CHECK_EQ(new_it.done(), old_it.done());
1354 } 1364 }
1355 1365
1356 1366
1357 #endif // DEBUG 1367 #endif // DEBUG
1358 1368
1359 } // namespace internal 1369 } // namespace internal
1360 } // namespace v8 1370 } // namespace v8
OLDNEW
« no previous file with comments | « src/objects-body-descriptors-inl.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698