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

Side by Side Diff: src/objects.h

Issue 2125163004: Correctly format builtin constructors in stack traces (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@20160704-string-number-builtins
Patch Set: Rebase 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/isolate.cc ('k') | src/objects.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 5045 matching lines...) Expand 10 before | Expand all | Expand 10 after
5056 // [is_turbofanned]: For kind STUB or OPTIMIZED_FUNCTION, tells whether the 5056 // [is_turbofanned]: For kind STUB or OPTIMIZED_FUNCTION, tells whether the
5057 // code object was generated by the TurboFan optimizing compiler. 5057 // code object was generated by the TurboFan optimizing compiler.
5058 inline bool is_turbofanned(); 5058 inline bool is_turbofanned();
5059 inline void set_is_turbofanned(bool value); 5059 inline void set_is_turbofanned(bool value);
5060 5060
5061 // [can_have_weak_objects]: For kind OPTIMIZED_FUNCTION, tells whether the 5061 // [can_have_weak_objects]: For kind OPTIMIZED_FUNCTION, tells whether the
5062 // embedded objects in code should be treated weakly. 5062 // embedded objects in code should be treated weakly.
5063 inline bool can_have_weak_objects(); 5063 inline bool can_have_weak_objects();
5064 inline void set_can_have_weak_objects(bool value); 5064 inline void set_can_have_weak_objects(bool value);
5065 5065
5066 // [is_construct_stub]: For kind BUILTIN, tells whether the code object
5067 // represents a hand-written construct stub
5068 // (e.g., NumberConstructor_ConstructStub).
5069 inline bool is_construct_stub();
5070 inline void set_is_construct_stub(bool value);
5071
5066 // [has_deoptimization_support]: For FUNCTION kind, tells if it has 5072 // [has_deoptimization_support]: For FUNCTION kind, tells if it has
5067 // deoptimization support. 5073 // deoptimization support.
5068 inline bool has_deoptimization_support(); 5074 inline bool has_deoptimization_support();
5069 inline void set_has_deoptimization_support(bool value); 5075 inline void set_has_deoptimization_support(bool value);
5070 5076
5071 // [has_debug_break_slots]: For FUNCTION kind, tells if it has 5077 // [has_debug_break_slots]: For FUNCTION kind, tells if it has
5072 // been compiled with debug break slots. 5078 // been compiled with debug break slots.
5073 inline bool has_debug_break_slots(); 5079 inline bool has_debug_break_slots();
5074 inline void set_has_debug_break_slots(bool value); 5080 inline void set_has_debug_break_slots(bool value);
5075 5081
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
5391 PlatformSmiTagging::kSmiValueSize - 5397 PlatformSmiTagging::kSmiValueSize -
5392 KindField::kNext + 1> {}; 5398 KindField::kNext + 1> {};
5393 5399
5394 // KindSpecificFlags1 layout (STUB, BUILTIN and OPTIMIZED_FUNCTION) 5400 // KindSpecificFlags1 layout (STUB, BUILTIN and OPTIMIZED_FUNCTION)
5395 static const int kStackSlotsFirstBit = 0; 5401 static const int kStackSlotsFirstBit = 0;
5396 static const int kStackSlotsBitCount = 24; 5402 static const int kStackSlotsBitCount = 24;
5397 static const int kMarkedForDeoptimizationBit = 5403 static const int kMarkedForDeoptimizationBit =
5398 kStackSlotsFirstBit + kStackSlotsBitCount; 5404 kStackSlotsFirstBit + kStackSlotsBitCount;
5399 static const int kIsTurbofannedBit = kMarkedForDeoptimizationBit + 1; 5405 static const int kIsTurbofannedBit = kMarkedForDeoptimizationBit + 1;
5400 static const int kCanHaveWeakObjects = kIsTurbofannedBit + 1; 5406 static const int kCanHaveWeakObjects = kIsTurbofannedBit + 1;
5407 // Could be moved to overlap previous bits when we need more space.
5408 static const int kIsConstructStub = kCanHaveWeakObjects + 1;
5401 5409
5402 STATIC_ASSERT(kStackSlotsFirstBit + kStackSlotsBitCount <= 32); 5410 STATIC_ASSERT(kStackSlotsFirstBit + kStackSlotsBitCount <= 32);
5403 STATIC_ASSERT(kCanHaveWeakObjects + 1 <= 32); 5411 STATIC_ASSERT(kIsConstructStub + 1 <= 32);
5404 5412
5405 class StackSlotsField: public BitField<int, 5413 class StackSlotsField: public BitField<int,
5406 kStackSlotsFirstBit, kStackSlotsBitCount> {}; // NOLINT 5414 kStackSlotsFirstBit, kStackSlotsBitCount> {}; // NOLINT
5407 class MarkedForDeoptimizationField 5415 class MarkedForDeoptimizationField
5408 : public BitField<bool, kMarkedForDeoptimizationBit, 1> {}; // NOLINT 5416 : public BitField<bool, kMarkedForDeoptimizationBit, 1> {}; // NOLINT
5409 class IsTurbofannedField : public BitField<bool, kIsTurbofannedBit, 1> { 5417 class IsTurbofannedField : public BitField<bool, kIsTurbofannedBit, 1> {
5410 }; // NOLINT 5418 }; // NOLINT
5411 class CanHaveWeakObjectsField 5419 class CanHaveWeakObjectsField
5412 : public BitField<bool, kCanHaveWeakObjects, 1> {}; // NOLINT 5420 : public BitField<bool, kCanHaveWeakObjects, 1> {}; // NOLINT
5421 class IsConstructStubField : public BitField<bool, kIsConstructStub, 1> {
5422 }; // NOLINT
5413 5423
5414 // KindSpecificFlags2 layout (ALL) 5424 // KindSpecificFlags2 layout (ALL)
5415 static const int kIsCrankshaftedBit = 0; 5425 static const int kIsCrankshaftedBit = 0;
5416 class IsCrankshaftedField: public BitField<bool, 5426 class IsCrankshaftedField: public BitField<bool,
5417 kIsCrankshaftedBit, 1> {}; // NOLINT 5427 kIsCrankshaftedBit, 1> {}; // NOLINT
5418 5428
5419 // KindSpecificFlags2 layout (STUB and OPTIMIZED_FUNCTION) 5429 // KindSpecificFlags2 layout (STUB and OPTIMIZED_FUNCTION)
5420 static const int kSafepointTableOffsetFirstBit = kIsCrankshaftedBit + 1; 5430 static const int kSafepointTableOffsetFirstBit = kIsCrankshaftedBit + 1;
5421 static const int kSafepointTableOffsetBitCount = 30; 5431 static const int kSafepointTableOffsetBitCount = 30;
5422 5432
(...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after
6871 FixedArray::kHeaderSize + kPointerSize * (kLiteralsOffset - kEntryLength); 6881 FixedArray::kHeaderSize + kPointerSize * (kLiteralsOffset - kEntryLength);
6872 static const int kOffsetToPreviousOsrAstId = 6882 static const int kOffsetToPreviousOsrAstId =
6873 FixedArray::kHeaderSize + kPointerSize * (kOsrAstIdOffset - kEntryLength); 6883 FixedArray::kHeaderSize + kPointerSize * (kOsrAstIdOffset - kEntryLength);
6874 6884
6875 // [scope_info]: Scope info. 6885 // [scope_info]: Scope info.
6876 DECL_ACCESSORS(scope_info, ScopeInfo) 6886 DECL_ACCESSORS(scope_info, ScopeInfo)
6877 6887
6878 // [construct stub]: Code stub for constructing instances of this function. 6888 // [construct stub]: Code stub for constructing instances of this function.
6879 DECL_ACCESSORS(construct_stub, Code) 6889 DECL_ACCESSORS(construct_stub, Code)
6880 6890
6891 // Sets the given code as the construct stub, and marks builtin code objects
6892 // as a construct stub.
6893 void SetConstructStub(Code* code);
6894
6881 // Returns if this function has been compiled to native code yet. 6895 // Returns if this function has been compiled to native code yet.
6882 inline bool is_compiled(); 6896 inline bool is_compiled();
6883 6897
6884 // [length]: The function length - usually the number of declared parameters. 6898 // [length]: The function length - usually the number of declared parameters.
6885 // Use up to 2^30 parameters. 6899 // Use up to 2^30 parameters.
6886 inline int length() const; 6900 inline int length() const;
6887 inline void set_length(int value); 6901 inline void set_length(int value);
6888 6902
6889 // [internal formal parameter count]: The declared number of parameters. 6903 // [internal formal parameter count]: The declared number of parameters.
6890 // For subclass constructors, also includes new.target. 6904 // For subclass constructors, also includes new.target.
(...skipping 4074 matching lines...) Expand 10 before | Expand all | Expand 10 after
10965 } 10979 }
10966 return value; 10980 return value;
10967 } 10981 }
10968 }; 10982 };
10969 10983
10970 10984
10971 } // NOLINT, false-positive due to second-order macros. 10985 } // NOLINT, false-positive due to second-order macros.
10972 } // NOLINT, false-positive due to second-order macros. 10986 } // NOLINT, false-positive due to second-order macros.
10973 10987
10974 #endif // V8_OBJECTS_H_ 10988 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/isolate.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698