OLD | NEW |
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 2942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2953 } | 2953 } |
2954 | 2954 |
2955 void Isolate::InvalidateArrayIteratorProtector() { | 2955 void Isolate::InvalidateArrayIteratorProtector() { |
2956 DCHECK(factory()->array_iterator_protector()->value()->IsSmi()); | 2956 DCHECK(factory()->array_iterator_protector()->value()->IsSmi()); |
2957 DCHECK(IsArrayIteratorLookupChainIntact()); | 2957 DCHECK(IsArrayIteratorLookupChainIntact()); |
2958 factory()->array_iterator_protector()->set_value( | 2958 factory()->array_iterator_protector()->set_value( |
2959 Smi::FromInt(kProtectorInvalid)); | 2959 Smi::FromInt(kProtectorInvalid)); |
2960 DCHECK(!IsArrayIteratorLookupChainIntact()); | 2960 DCHECK(!IsArrayIteratorLookupChainIntact()); |
2961 } | 2961 } |
2962 | 2962 |
| 2963 void Isolate::InvalidateArrayBufferNeuteringProtector() { |
| 2964 DCHECK(factory()->array_buffer_neutering_protector()->value()->IsSmi()); |
| 2965 DCHECK(IsArrayBufferNeuteringIntact()); |
| 2966 PropertyCell::SetValueWithInvalidation( |
| 2967 factory()->array_buffer_neutering_protector(), |
| 2968 handle(Smi::FromInt(kProtectorInvalid), this)); |
| 2969 DCHECK(!IsArrayBufferNeuteringIntact()); |
| 2970 } |
| 2971 |
2963 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) { | 2972 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) { |
2964 DisallowHeapAllocation no_gc; | 2973 DisallowHeapAllocation no_gc; |
2965 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX); | 2974 return IsInAnyContext(*array, Context::INITIAL_ARRAY_PROTOTYPE_INDEX); |
2966 } | 2975 } |
2967 | 2976 |
2968 | 2977 |
2969 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) { | 2978 CallInterfaceDescriptorData* Isolate::call_descriptor_data(int index) { |
2970 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS); | 2979 DCHECK(0 <= index && index < CallDescriptors::NUMBER_OF_DESCRIPTORS); |
2971 return &call_descriptor_data_[index]; | 2980 return &call_descriptor_data_[index]; |
2972 } | 2981 } |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3495 // Then check whether this scope intercepts. | 3504 // Then check whether this scope intercepts. |
3496 if ((flag & intercept_mask_)) { | 3505 if ((flag & intercept_mask_)) { |
3497 intercepted_flags_ |= flag; | 3506 intercepted_flags_ |= flag; |
3498 return true; | 3507 return true; |
3499 } | 3508 } |
3500 return false; | 3509 return false; |
3501 } | 3510 } |
3502 | 3511 |
3503 } // namespace internal | 3512 } // namespace internal |
3504 } // namespace v8 | 3513 } // namespace v8 |
OLD | NEW |