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

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

Issue 2405253006: [builtins] implement Array.prototype[@@iterator] in TFJ builtins (Closed)
Patch Set: revert unneeded prologue.js changes Created 4 years, 2 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
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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 break; 151 break;
152 case JS_MAP_TYPE: 152 case JS_MAP_TYPE:
153 JSMap::cast(this)->JSMapVerify(); 153 JSMap::cast(this)->JSMapVerify();
154 break; 154 break;
155 case JS_SET_ITERATOR_TYPE: 155 case JS_SET_ITERATOR_TYPE:
156 JSSetIterator::cast(this)->JSSetIteratorVerify(); 156 JSSetIterator::cast(this)->JSSetIteratorVerify();
157 break; 157 break;
158 case JS_MAP_ITERATOR_TYPE: 158 case JS_MAP_ITERATOR_TYPE:
159 JSMapIterator::cast(this)->JSMapIteratorVerify(); 159 JSMapIterator::cast(this)->JSMapIteratorVerify();
160 break; 160 break;
161 case JS_TYPED_ARRAY_KEY_ITERATOR_TYPE:
162 case JS_UINT8_ARRAY_KEY_VALUE_ITERATOR_TYPE:
163 case JS_INT8_ARRAY_KEY_VALUE_ITERATOR_TYPE:
164 case JS_UINT16_ARRAY_KEY_VALUE_ITERATOR_TYPE:
165 case JS_INT16_ARRAY_KEY_VALUE_ITERATOR_TYPE:
166 case JS_UINT32_ARRAY_KEY_VALUE_ITERATOR_TYPE:
167 case JS_INT32_ARRAY_KEY_VALUE_ITERATOR_TYPE:
168 case JS_FLOAT32_ARRAY_KEY_VALUE_ITERATOR_TYPE:
169 case JS_FLOAT64_ARRAY_KEY_VALUE_ITERATOR_TYPE:
170 case JS_UINT8_CLAMPED_ARRAY_KEY_VALUE_ITERATOR_TYPE:
171 case JS_UINT8_ARRAY_VALUE_ITERATOR_TYPE:
172 case JS_INT8_ARRAY_VALUE_ITERATOR_TYPE:
173 case JS_UINT16_ARRAY_VALUE_ITERATOR_TYPE:
174 case JS_INT16_ARRAY_VALUE_ITERATOR_TYPE:
175 case JS_UINT32_ARRAY_VALUE_ITERATOR_TYPE:
176 case JS_INT32_ARRAY_VALUE_ITERATOR_TYPE:
177 case JS_FLOAT32_ARRAY_VALUE_ITERATOR_TYPE:
178 case JS_FLOAT64_ARRAY_VALUE_ITERATOR_TYPE:
179 case JS_UINT8_CLAMPED_ARRAY_VALUE_ITERATOR_TYPE:
180 JSTypedArrayIterator::cast(this)->JSTypedArrayIteratorVerify();
181 break;
182
183 case JS_GENERIC_ARRAY_KEY_ITERATOR_TYPE:
184 case JS_FAST_ARRAY_KEY_VALUE_ITERATOR_TYPE:
185 case JS_FAST_HOLEY_ARRAY_KEY_VALUE_ITERATOR_TYPE:
186 case JS_FAST_SMI_ARRAY_KEY_VALUE_ITERATOR_TYPE:
187 case JS_FAST_HOLEY_SMI_ARRAY_KEY_VALUE_ITERATOR_TYPE:
188 case JS_FAST_DOUBLE_ARRAY_KEY_VALUE_ITERATOR_TYPE:
189 case JS_FAST_HOLEY_DOUBLE_ARRAY_KEY_VALUE_ITERATOR_TYPE:
190 case JS_GENERIC_ARRAY_KEY_VALUE_ITERATOR_TYPE:
191 case JS_FAST_ARRAY_VALUE_ITERATOR_TYPE:
192 case JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE:
193 case JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE:
194 case JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE:
195 case JS_FAST_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE:
196 case JS_FAST_HOLEY_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE:
197 case JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE:
198 JSArrayIterator::cast(this)->JSArrayIteratorVerify();
199 break;
200
161 case JS_STRING_ITERATOR_TYPE: 201 case JS_STRING_ITERATOR_TYPE:
162 JSStringIterator::cast(this)->JSStringIteratorVerify(); 202 JSStringIterator::cast(this)->JSStringIteratorVerify();
163 break; 203 break;
164 case JS_WEAK_MAP_TYPE: 204 case JS_WEAK_MAP_TYPE:
165 JSWeakMap::cast(this)->JSWeakMapVerify(); 205 JSWeakMap::cast(this)->JSWeakMapVerify();
166 break; 206 break;
167 case JS_WEAK_SET_TYPE: 207 case JS_WEAK_SET_TYPE:
168 JSWeakSet::cast(this)->JSWeakSetVerify(); 208 JSWeakSet::cast(this)->JSWeakSetVerify();
169 break; 209 break;
170 case JS_REGEXP_TYPE: 210 case JS_REGEXP_TYPE:
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 } 821 }
782 822
783 823
784 void JSWeakMap::JSWeakMapVerify() { 824 void JSWeakMap::JSWeakMapVerify() {
785 CHECK(IsJSWeakMap()); 825 CHECK(IsJSWeakMap());
786 JSObjectVerify(); 826 JSObjectVerify();
787 VerifyHeapPointer(table()); 827 VerifyHeapPointer(table());
788 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate())); 828 CHECK(table()->IsHashTable() || table()->IsUndefined(GetIsolate()));
789 } 829 }
790 830
831 void JSTypedArrayIterator::JSTypedArrayIteratorVerify() {
832 CHECK(IsJSTypedArrayIterator());
833 JSObjectVerify();
834 CHECK(object()->IsJSTypedArray() || object()->IsUndefined(GetIsolate()));
835
836 CHECK_GE(index(), 0);
837 CHECK_LE(index(), Smi::kMaxValue);
838 }
839
840 void JSArrayIterator::JSArrayIteratorVerify() {
841 CHECK(IsJSArrayIterator());
842 JSObjectVerify();
843 CHECK(object()->IsJSReceiver() || object()->IsUndefined(GetIsolate()));
844
845 CHECK_GE(index()->Number(), 0);
846 CHECK_LE(index()->Number(), kMaxSafeInteger);
847 }
848
791 void JSStringIterator::JSStringIteratorVerify() { 849 void JSStringIterator::JSStringIteratorVerify() {
792 CHECK(IsJSStringIterator()); 850 CHECK(IsJSStringIterator());
793 JSObjectVerify(); 851 JSObjectVerify();
794 CHECK(string()->IsString()); 852 CHECK(string()->IsString());
795 853
796 CHECK_GE(index(), 0); 854 CHECK_GE(index(), 0);
797 CHECK_LE(index(), String::kMaxLength); 855 CHECK_LE(index(), String::kMaxLength);
798 } 856 }
799 857
800 void JSWeakSet::JSWeakSetVerify() { 858 void JSWeakSet::JSWeakSetVerify() {
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
1408 1466
1409 // Both are done at the same time. 1467 // Both are done at the same time.
1410 CHECK_EQ(new_it.done(), old_it.done()); 1468 CHECK_EQ(new_it.done(), old_it.done());
1411 } 1469 }
1412 1470
1413 1471
1414 #endif // DEBUG 1472 #endif // DEBUG
1415 1473
1416 } // namespace internal 1474 } // namespace internal
1417 } // namespace v8 1475 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698