| OLD | NEW |
| 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 4855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4866 V(STUB) \ | 4866 V(STUB) \ |
| 4867 V(HANDLER) \ | 4867 V(HANDLER) \ |
| 4868 V(BUILTIN) \ | 4868 V(BUILTIN) \ |
| 4869 V(REGEXP) \ | 4869 V(REGEXP) \ |
| 4870 V(WASM_FUNCTION) \ | 4870 V(WASM_FUNCTION) \ |
| 4871 V(WASM_TO_JS_FUNCTION) \ | 4871 V(WASM_TO_JS_FUNCTION) \ |
| 4872 V(JS_TO_WASM_FUNCTION) | 4872 V(JS_TO_WASM_FUNCTION) |
| 4873 | 4873 |
| 4874 #define IC_KIND_LIST(V) \ | 4874 #define IC_KIND_LIST(V) \ |
| 4875 V(LOAD_IC) \ | 4875 V(LOAD_IC) \ |
| 4876 V(LOAD_GLOBAL_IC) \ |
| 4876 V(KEYED_LOAD_IC) \ | 4877 V(KEYED_LOAD_IC) \ |
| 4877 V(CALL_IC) \ | 4878 V(CALL_IC) \ |
| 4878 V(STORE_IC) \ | 4879 V(STORE_IC) \ |
| 4879 V(KEYED_STORE_IC) \ | 4880 V(KEYED_STORE_IC) \ |
| 4880 V(BINARY_OP_IC) \ | 4881 V(BINARY_OP_IC) \ |
| 4881 V(COMPARE_IC) \ | 4882 V(COMPARE_IC) \ |
| 4882 V(TO_BOOLEAN_IC) | 4883 V(TO_BOOLEAN_IC) |
| 4883 | 4884 |
| 4884 #define CODE_KIND_LIST(V) \ | 4885 #define CODE_KIND_LIST(V) \ |
| 4885 NON_IC_KIND_LIST(V) \ | 4886 NON_IC_KIND_LIST(V) \ |
| 4886 IC_KIND_LIST(V) | 4887 IC_KIND_LIST(V) |
| 4887 | 4888 |
| 4888 enum Kind { | 4889 enum Kind { |
| 4889 #define DEFINE_CODE_KIND_ENUM(name) name, | 4890 #define DEFINE_CODE_KIND_ENUM(name) name, |
| 4890 CODE_KIND_LIST(DEFINE_CODE_KIND_ENUM) | 4891 CODE_KIND_LIST(DEFINE_CODE_KIND_ENUM) |
| 4891 #undef DEFINE_CODE_KIND_ENUM | 4892 #undef DEFINE_CODE_KIND_ENUM |
| 4892 NUMBER_OF_KINDS | 4893 NUMBER_OF_KINDS |
| 4893 }; | 4894 }; |
| 4894 | 4895 |
| 4895 // No more than 32 kinds. The value is currently encoded in five bits in | |
| 4896 // Flags. | |
| 4897 STATIC_ASSERT(NUMBER_OF_KINDS <= 32); | |
| 4898 | |
| 4899 static const char* Kind2String(Kind kind); | 4896 static const char* Kind2String(Kind kind); |
| 4900 | 4897 |
| 4901 static const int kPrologueOffsetNotSet = -1; | 4898 static const int kPrologueOffsetNotSet = -1; |
| 4902 | 4899 |
| 4903 #ifdef ENABLE_DISASSEMBLER | 4900 #ifdef ENABLE_DISASSEMBLER |
| 4904 // Printing | 4901 // Printing |
| 4905 static const char* ICState2String(InlineCacheState state); | 4902 static const char* ICState2String(InlineCacheState state); |
| 4906 static void PrintExtraICState(std::ostream& os, // NOLINT | 4903 static void PrintExtraICState(std::ostream& os, // NOLINT |
| 4907 Kind kind, ExtraICState extra); | 4904 Kind kind, ExtraICState extra); |
| 4908 void Disassemble(const char* name, std::ostream& os); // NOLINT | 4905 void Disassemble(const char* name, std::ostream& os); // NOLINT |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5275 public BitField<bool, 0, 1> {}; // NOLINT | 5272 public BitField<bool, 0, 1> {}; // NOLINT |
| 5276 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 5273 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
| 5277 class FullCodeFlagsHasRelocInfoForSerialization | 5274 class FullCodeFlagsHasRelocInfoForSerialization |
| 5278 : public BitField<bool, 2, 1> {}; | 5275 : public BitField<bool, 2, 1> {}; |
| 5279 // Bit 3 in this bitfield is unused. | 5276 // Bit 3 in this bitfield is unused. |
| 5280 class ProfilerTicksField : public BitField<int, 4, 28> {}; | 5277 class ProfilerTicksField : public BitField<int, 4, 28> {}; |
| 5281 | 5278 |
| 5282 // Flags layout. BitField<type, shift, size>. | 5279 // Flags layout. BitField<type, shift, size>. |
| 5283 class CacheHolderField : public BitField<CacheHolderFlag, 0, 2> {}; | 5280 class CacheHolderField : public BitField<CacheHolderFlag, 0, 2> {}; |
| 5284 class KindField : public BitField<Kind, CacheHolderField::kNext, 5> {}; | 5281 class KindField : public BitField<Kind, CacheHolderField::kNext, 5> {}; |
| 5282 STATIC_ASSERT(NUMBER_OF_KINDS <= KindField::kMax); |
| 5285 class ExtraICStateField : public BitField<ExtraICState, KindField::kNext, | 5283 class ExtraICStateField : public BitField<ExtraICState, KindField::kNext, |
| 5286 PlatformSmiTagging::kSmiValueSize - | 5284 PlatformSmiTagging::kSmiValueSize - |
| 5287 KindField::kNext + 1> {}; | 5285 KindField::kNext + 1> {}; |
| 5288 | 5286 |
| 5289 // KindSpecificFlags1 layout (STUB, BUILTIN and OPTIMIZED_FUNCTION) | 5287 // KindSpecificFlags1 layout (STUB, BUILTIN and OPTIMIZED_FUNCTION) |
| 5290 static const int kStackSlotsFirstBit = 0; | 5288 static const int kStackSlotsFirstBit = 0; |
| 5291 static const int kStackSlotsBitCount = 24; | 5289 static const int kStackSlotsBitCount = 24; |
| 5292 static const int kMarkedForDeoptimizationBit = | 5290 static const int kMarkedForDeoptimizationBit = |
| 5293 kStackSlotsFirstBit + kStackSlotsBitCount; | 5291 kStackSlotsFirstBit + kStackSlotsBitCount; |
| 5294 static const int kIsTurbofannedBit = kMarkedForDeoptimizationBit + 1; | 5292 static const int kIsTurbofannedBit = kMarkedForDeoptimizationBit + 1; |
| (...skipping 5502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10797 } | 10795 } |
| 10798 return value; | 10796 return value; |
| 10799 } | 10797 } |
| 10800 }; | 10798 }; |
| 10801 | 10799 |
| 10802 | 10800 |
| 10803 } // NOLINT, false-positive due to second-order macros. | 10801 } // NOLINT, false-positive due to second-order macros. |
| 10804 } // NOLINT, false-positive due to second-order macros. | 10802 } // NOLINT, false-positive due to second-order macros. |
| 10805 | 10803 |
| 10806 #endif // V8_OBJECTS_H_ | 10804 #endif // V8_OBJECTS_H_ |
| OLD | NEW |