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

Side by Side Diff: src/isolate.h

Issue 2357433002: Revert of [crankshaft] Protect against deopt loops from string length overflows. (Closed)
Patch Set: Created 4 years, 3 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
« 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 992 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 Map* get_initial_js_array_map(ElementsKind kind); 1003 Map* get_initial_js_array_map(ElementsKind kind);
1004 1004
1005 static const int kArrayProtectorValid = 1; 1005 static const int kArrayProtectorValid = 1;
1006 static const int kArrayProtectorInvalid = 0; 1006 static const int kArrayProtectorInvalid = 0;
1007 1007
1008 bool IsFastArrayConstructorPrototypeChainIntact(); 1008 bool IsFastArrayConstructorPrototypeChainIntact();
1009 inline bool IsArraySpeciesLookupChainIntact(); 1009 inline bool IsArraySpeciesLookupChainIntact();
1010 inline bool IsHasInstanceLookupChainIntact(); 1010 inline bool IsHasInstanceLookupChainIntact();
1011 bool IsIsConcatSpreadableLookupChainIntact(); 1011 bool IsIsConcatSpreadableLookupChainIntact();
1012 bool IsIsConcatSpreadableLookupChainIntact(JSReceiver* receiver); 1012 bool IsIsConcatSpreadableLookupChainIntact(JSReceiver* receiver);
1013 inline bool IsStringLengthOverflowIntact();
1014 1013
1015 // On intent to set an element in object, make sure that appropriate 1014 // On intent to set an element in object, make sure that appropriate
1016 // notifications occur if the set is on the elements of the array or 1015 // notifications occur if the set is on the elements of the array or
1017 // object prototype. Also ensure that changes to prototype chain between 1016 // object prototype. Also ensure that changes to prototype chain between
1018 // Array and Object fire notifications. 1017 // Array and Object fire notifications.
1019 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object); 1018 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object);
1020 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) { 1019 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) {
1021 UpdateArrayProtectorOnSetElement(object); 1020 UpdateArrayProtectorOnSetElement(object);
1022 } 1021 }
1023 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) { 1022 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) {
1024 UpdateArrayProtectorOnSetElement(object); 1023 UpdateArrayProtectorOnSetElement(object);
1025 } 1024 }
1026 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) { 1025 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) {
1027 UpdateArrayProtectorOnSetElement(object); 1026 UpdateArrayProtectorOnSetElement(object);
1028 } 1027 }
1029 void InvalidateArraySpeciesProtector(); 1028 void InvalidateArraySpeciesProtector();
1030 void InvalidateHasInstanceProtector(); 1029 void InvalidateHasInstanceProtector();
1031 void InvalidateIsConcatSpreadableProtector(); 1030 void InvalidateIsConcatSpreadableProtector();
1032 void InvalidateStringLengthOverflowProtector();
1033 1031
1034 // Returns true if array is the initial array prototype in any native context. 1032 // Returns true if array is the initial array prototype in any native context.
1035 bool IsAnyInitialArrayPrototype(Handle<JSArray> array); 1033 bool IsAnyInitialArrayPrototype(Handle<JSArray> array);
1036 1034
1037 CallInterfaceDescriptorData* call_descriptor_data(int index); 1035 CallInterfaceDescriptorData* call_descriptor_data(int index);
1038 1036
1039 void IterateDeferredHandles(ObjectVisitor* visitor); 1037 void IterateDeferredHandles(ObjectVisitor* visitor);
1040 void LinkDeferredHandles(DeferredHandles* deferred_handles); 1038 void LinkDeferredHandles(DeferredHandles* deferred_handles);
1041 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); 1039 void UnlinkDeferredHandles(DeferredHandles* deferred_handles);
1042 1040
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
1689 1687
1690 EmbeddedVector<char, 128> filename_; 1688 EmbeddedVector<char, 128> filename_;
1691 FILE* file_; 1689 FILE* file_;
1692 int scope_depth_; 1690 int scope_depth_;
1693 }; 1691 };
1694 1692
1695 } // namespace internal 1693 } // namespace internal
1696 } // namespace v8 1694 } // namespace v8
1697 1695
1698 #endif // V8_ISOLATE_H_ 1696 #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