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

Side by Side Diff: src/objects.h

Issue 2140163002: Revert of making heap verification more aggressive (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 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.h ('k') | src/objects-debug.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/assert-scope.h" 10 #include "src/assert-scope.h"
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 V(Code) \ 955 V(Code) \
956 V(AbstractCode) \ 956 V(AbstractCode) \
957 V(Oddball) \ 957 V(Oddball) \
958 V(SharedFunctionInfo) \ 958 V(SharedFunctionInfo) \
959 V(JSValue) \ 959 V(JSValue) \
960 V(JSDate) \ 960 V(JSDate) \
961 V(JSMessageObject) \ 961 V(JSMessageObject) \
962 V(StringWrapper) \ 962 V(StringWrapper) \
963 V(Foreign) \ 963 V(Foreign) \
964 V(Boolean) \ 964 V(Boolean) \
965 V(JSArgumentsObject) \
966 V(JSArray) \ 965 V(JSArray) \
967 V(JSArrayBuffer) \ 966 V(JSArrayBuffer) \
968 V(JSArrayBufferView) \ 967 V(JSArrayBufferView) \
969 V(JSTypedArray) \ 968 V(JSTypedArray) \
970 V(JSDataView) \ 969 V(JSDataView) \
971 V(JSProxy) \ 970 V(JSProxy) \
972 V(JSError) \ 971 V(JSError) \
973 V(JSPromise) \ 972 V(JSPromise) \
974 V(JSSet) \ 973 V(JSSet) \
975 V(JSMap) \ 974 V(JSMap) \
(...skipping 1596 matching lines...) Expand 10 before | Expand all | Expand 10 after
2572 2571
2573 // Common superclass for JSSloppyArgumentsObject and JSStrictArgumentsObject. 2572 // Common superclass for JSSloppyArgumentsObject and JSStrictArgumentsObject.
2574 class JSArgumentsObject: public JSObject { 2573 class JSArgumentsObject: public JSObject {
2575 public: 2574 public:
2576 // Offsets of object fields. 2575 // Offsets of object fields.
2577 static const int kLengthOffset = JSObject::kHeaderSize; 2576 static const int kLengthOffset = JSObject::kHeaderSize;
2578 static const int kHeaderSize = kLengthOffset + kPointerSize; 2577 static const int kHeaderSize = kLengthOffset + kPointerSize;
2579 // Indices of in-object properties. 2578 // Indices of in-object properties.
2580 static const int kLengthIndex = 0; 2579 static const int kLengthIndex = 0;
2581 2580
2582 DECLARE_VERIFIER(JSArgumentsObject)
2583 DECLARE_CAST(JSArgumentsObject)
2584
2585 private: 2581 private:
2586 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArgumentsObject); 2582 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArgumentsObject);
2587 }; 2583 };
2588 2584
2589 2585
2590 // JSSloppyArgumentsObject is just a JSObject with specific initial map. 2586 // JSSloppyArgumentsObject is just a JSObject with specific initial map.
2591 // This initial map adds in-object properties for "length" and "callee". 2587 // This initial map adds in-object properties for "length" and "callee".
2592 class JSSloppyArgumentsObject: public JSArgumentsObject { 2588 class JSSloppyArgumentsObject: public JSArgumentsObject {
2593 public: 2589 public:
2594 // Offsets of object fields. 2590 // Offsets of object fields.
2595 static const int kCalleeOffset = JSArgumentsObject::kHeaderSize; 2591 static const int kCalleeOffset = JSArgumentsObject::kHeaderSize;
2596 static const int kSize = kCalleeOffset + kPointerSize; 2592 static const int kSize = kCalleeOffset + kPointerSize;
2597 // Indices of in-object properties. 2593 // Indices of in-object properties.
2598 static const int kCalleeIndex = 1; 2594 static const int kCalleeIndex = 1;
2599 2595
2600 DECLARE_CAST(JSSloppyArgumentsObject)
2601
2602 private: 2596 private:
2603 DISALLOW_IMPLICIT_CONSTRUCTORS(JSSloppyArgumentsObject); 2597 DISALLOW_IMPLICIT_CONSTRUCTORS(JSSloppyArgumentsObject);
2604 }; 2598 };
2605 2599
2606 2600
2607 // JSStrictArgumentsObject is just a JSObject with specific initial map. 2601 // JSStrictArgumentsObject is just a JSObject with specific initial map.
2608 // This initial map adds an in-object property for "length". 2602 // This initial map adds an in-object property for "length".
2609 class JSStrictArgumentsObject: public JSArgumentsObject { 2603 class JSStrictArgumentsObject: public JSArgumentsObject {
2610 public: 2604 public:
2611 // Offsets of object fields. 2605 // Offsets of object fields.
2612 static const int kSize = JSArgumentsObject::kHeaderSize; 2606 static const int kSize = JSArgumentsObject::kHeaderSize;
2613 2607
2614 DECLARE_CAST(JSStrictArgumentsObject)
2615
2616 private: 2608 private:
2617 DISALLOW_IMPLICIT_CONSTRUCTORS(JSStrictArgumentsObject); 2609 DISALLOW_IMPLICIT_CONSTRUCTORS(JSStrictArgumentsObject);
2618 }; 2610 };
2619 2611
2620 2612
2621 // Common superclass for FixedArrays that allow implementations to share 2613 // Common superclass for FixedArrays that allow implementations to share
2622 // common accessors and some code paths. 2614 // common accessors and some code paths.
2623 class FixedArrayBase: public HeapObject { 2615 class FixedArrayBase: public HeapObject {
2624 public: 2616 public:
2625 // [length]: length of the array. 2617 // [length]: length of the array.
(...skipping 8347 matching lines...) Expand 10 before | Expand all | Expand 10 after
10973 } 10965 }
10974 return value; 10966 return value;
10975 } 10967 }
10976 }; 10968 };
10977 10969
10978 10970
10979 } // NOLINT, false-positive due to second-order macros. 10971 } // NOLINT, false-positive due to second-order macros.
10980 } // NOLINT, false-positive due to second-order macros. 10972 } // NOLINT, false-positive due to second-order macros.
10981 10973
10982 #endif // V8_OBJECTS_H_ 10974 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/objects-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698