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

Side by Side Diff: src/isolate.cc

Issue 2484003002: [builtins] implement JSBuiltinReducer for ArrayIteratorNext() (Closed)
Patch Set: CheckIf() for ArrayBufferWasNeutered() rather than a branch, which hopefully can be eliminated, and… 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() {
Camillo Bruni 2016/11/09 12:03:49 You may want to wire this to LookupIterator::Inter
caitp 2016/11/09 17:40:16 this cell isn't changed during lookup, it's change
2955 DCHECK(factory()->array_iterator_protector()->value()->IsSmi());
2956 DCHECK(CanInlineArrayIterator());
2957 factory()->array_iterator_protector()->set_value(
2958 Smi::FromInt(kArrayProtectorInvalid));
2959 DCHECK(!CanInlineArrayIterator());
2960 }
2961
2954 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) { 2962 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) {
2955 DisallowHeapAllocation no_gc; 2963 DisallowHeapAllocation no_gc;
2956 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX); 2964 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX);
2957 } 2965 }
2958 2966
2959 2967
2960 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) { 2968 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) {
2961 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS); 2969 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS);
2962 return &call_descriptor_data_[index]; 2970 return &call_descriptor_data_[index];
2963 } 2971 }
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
3487 // Then check whether this scope intercepts. 3495 // Then check whether this scope intercepts.
3488 if ((flag & intercept_mask_)) { 3496 if ((flag & intercept_mask_)) {
3489 intercepted_flags_ |= flag; 3497 intercepted_flags_ |= flag;
3490 return true; 3498 return true;
3491 } 3499 }
3492 return false; 3500 return false;
3493 } 3501 }
3494 3502
3495 } // namespace internal 3503 } // namespace internal
3496 } // namespace v8 3504 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698