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

Side by Side Diff: src/isolate.cc

Issue 2484003002: [builtins] implement JSBuiltinReducer for ArrayIteratorNext() (Closed)
Patch Set: fix it more Created 4 years, 1 month 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/isolate.h" 5 #include "src/isolate.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <fstream> // NOLINT(readability/streams) 9 #include <fstream> // NOLINT(readability/streams)
10 #include <sstream> 10 #include <sstream>
(...skipping 2933 matching lines...) Expand 10 before | Expand all | Expand 10 after
2944 2944
2945 void Isolate::InvalidateStringLengthOverflowProtector() { 2945 void Isolate::InvalidateStringLengthOverflowProtector() {
2946 DCHECK(factory()->string_length_protector()->value()->IsSmi()); 2946 DCHECK(factory()->string_length_protector()->value()->IsSmi());
2947 DCHECK(IsStringLengthOverflowIntact()); 2947 DCHECK(IsStringLengthOverflowIntact());
2948 PropertyCell::SetValueWithInvalidation( 2948 PropertyCell::SetValueWithInvalidation(
2949 factory()->string_length_protector(), 2949 factory()->string_length_protector(),
2950 handle(Smi::FromInt(kArrayProtectorInvalid), this)); 2950 handle(Smi::FromInt(kArrayProtectorInvalid), this));
2951 DCHECK(!IsStringLengthOverflowIntact()); 2951 DCHECK(!IsStringLengthOverflowIntact());
2952 } 2952 }
2953 2953
2954 void Isolate::InvalidateArrayIteratorProtector() {
2955 DCHECK(factory()->array_iterator_protector()->value()->IsSmi());
2956 DCHECK(CanInlineArrayIterator());
2957 PropertyCell::SetValueWithInvalidation(
2958 factory()->array_iterator_protector(),
2959 handle(Smi::FromInt(kArrayProtectorInvalid), this));
2960 DCHECK(!CanInlineArrayIterator());
2961 }
2962
2954 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) { 2963 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) {
2955 DisallowHeapAllocation no_gc; 2964 DisallowHeapAllocation no_gc;
2956 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX); 2965 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX);
2957 } 2966 }
2958 2967
2959 2968
2960 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) { 2969 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) {
2961 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS); 2970 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS);
2962 return &call_descriptor_data_[index]; 2971 return &call_descriptor_data_[index];
2963 } 2972 }
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
3487 // Then check whether this scope intercepts. 3496 // Then check whether this scope intercepts.
3488 if ((flag & intercept_mask_)) { 3497 if ((flag & intercept_mask_)) {
3489 intercepted_flags_ |= flag; 3498 intercepted_flags_ |= flag;
3490 return true; 3499 return true;
3491 } 3500 }
3492 return false; 3501 return false;
3493 } 3502 }
3494 3503
3495 } // namespace internal 3504 } // namespace internal
3496 } // namespace v8 3505 } // namespace v8
OLDNEW
« src/heap/heap.h ('K') | « src/isolate.h ('k') | src/isolate-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698