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

Side by Side Diff: src/isolate.h

Issue 2504163002: [turbofan] Don't check for neutered array buffers eagerly. (Closed)
Patch Set: 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
« no previous file with comments | « src/heap/heap.cc ('k') | src/isolate.cc » ('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 #ifndef V8_ISOLATE_H_ 5 #ifndef V8_ISOLATE_H_
6 #define V8_ISOLATE_H_ 6 #define V8_ISOLATE_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <queue> 9 #include <queue>
10 10
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 inline bool IsArraySpeciesLookupChainIntact(); 994 inline bool IsArraySpeciesLookupChainIntact();
995 inline bool IsHasInstanceLookupChainIntact(); 995 inline bool IsHasInstanceLookupChainIntact();
996 bool IsIsConcatSpreadableLookupChainIntact(); 996 bool IsIsConcatSpreadableLookupChainIntact();
997 bool IsIsConcatSpreadableLookupChainIntact(JSReceiver* receiver); 997 bool IsIsConcatSpreadableLookupChainIntact(JSReceiver* receiver);
998 inline bool IsStringLengthOverflowIntact(); 998 inline bool IsStringLengthOverflowIntact();
999 inline bool IsArrayIteratorLookupChainIntact(); 999 inline bool IsArrayIteratorLookupChainIntact();
1000 1000
1001 // Avoid deopt loops if fast Array Iterators migrate to slow Array Iterators. 1001 // Avoid deopt loops if fast Array Iterators migrate to slow Array Iterators.
1002 inline bool IsFastArrayIterationIntact(); 1002 inline bool IsFastArrayIterationIntact();
1003 1003
1004 // Make sure we do check for neutered array buffers.
1005 inline bool IsArrayBufferNeuteringIntact();
1006
1004 // On intent to set an element in object, make sure that appropriate 1007 // On intent to set an element in object, make sure that appropriate
1005 // notifications occur if the set is on the elements of the array or 1008 // notifications occur if the set is on the elements of the array or
1006 // object prototype. Also ensure that changes to prototype chain between 1009 // object prototype. Also ensure that changes to prototype chain between
1007 // Array and Object fire notifications. 1010 // Array and Object fire notifications.
1008 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object); 1011 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object);
1009 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) { 1012 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) {
1010 UpdateArrayProtectorOnSetElement(object); 1013 UpdateArrayProtectorOnSetElement(object);
1011 } 1014 }
1012 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) { 1015 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) {
1013 UpdateArrayProtectorOnSetElement(object); 1016 UpdateArrayProtectorOnSetElement(object);
1014 } 1017 }
1015 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) { 1018 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) {
1016 UpdateArrayProtectorOnSetElement(object); 1019 UpdateArrayProtectorOnSetElement(object);
1017 } 1020 }
1018 void InvalidateArraySpeciesProtector(); 1021 void InvalidateArraySpeciesProtector();
1019 void InvalidateHasInstanceProtector(); 1022 void InvalidateHasInstanceProtector();
1020 void InvalidateIsConcatSpreadableProtector(); 1023 void InvalidateIsConcatSpreadableProtector();
1021 void InvalidateStringLengthOverflowProtector(); 1024 void InvalidateStringLengthOverflowProtector();
1022 void InvalidateArrayIteratorProtector(); 1025 void InvalidateArrayIteratorProtector();
1026 void InvalidateArrayBufferNeuteringProtector();
1023 1027
1024 // Returns true if array is the initial array prototype in any native context. 1028 // Returns true if array is the initial array prototype in any native context.
1025 bool IsAnyInitialArrayPrototype(Handle<JSArray> array); 1029 bool IsAnyInitialArrayPrototype(Handle<JSArray> array);
1026 1030
1027 CallInterfaceDescriptorData* call_descriptor_data(int index); 1031 CallInterfaceDescriptorData* call_descriptor_data(int index);
1028 1032
1029 AccessCompilerData* access_compiler_data() { return access_compiler_data_; } 1033 AccessCompilerData* access_compiler_data() { return access_compiler_data_; }
1030 1034
1031 void IterateDeferredHandles(ObjectVisitor* visitor); 1035 void IterateDeferredHandles(ObjectVisitor* visitor);
1032 void LinkDeferredHandles(DeferredHandles* deferred_handles); 1036 void LinkDeferredHandles(DeferredHandles* deferred_handles);
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1678 1682
1679 EmbeddedVector<char, 128> filename_; 1683 EmbeddedVector<char, 128> filename_;
1680 FILE* file_; 1684 FILE* file_;
1681 int scope_depth_; 1685 int scope_depth_;
1682 }; 1686 };
1683 1687
1684 } // namespace internal 1688 } // namespace internal
1685 } // namespace v8 1689 } // namespace v8
1686 1690
1687 #endif // V8_ISOLATE_H_ 1691 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/heap/heap.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698