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 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 7433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7444 DECL_BOOLEAN_ACCESSORS(is_function) | 7444 DECL_BOOLEAN_ACCESSORS(is_function) |
7445 | 7445 |
7446 // Indicates that code for this function must be compiled through the | 7446 // Indicates that code for this function must be compiled through the |
7447 // Ignition / TurboFan pipeline, and is unsupported by | 7447 // Ignition / TurboFan pipeline, and is unsupported by |
7448 // FullCodegen / Crankshaft. | 7448 // FullCodegen / Crankshaft. |
7449 DECL_BOOLEAN_ACCESSORS(must_use_ignition_turbo) | 7449 DECL_BOOLEAN_ACCESSORS(must_use_ignition_turbo) |
7450 | 7450 |
7451 // Indicates that code for this function cannot be flushed. | 7451 // Indicates that code for this function cannot be flushed. |
7452 DECL_BOOLEAN_ACCESSORS(dont_flush) | 7452 DECL_BOOLEAN_ACCESSORS(dont_flush) |
7453 | 7453 |
7454 // Indicates that this is a constructor for a base class with instance fields. | |
7455 DECL_BOOLEAN_ACCESSORS(requires_class_field_init) | |
7456 // Indicates that this is a synthesized function to set up class instance | |
7457 // fields. | |
7458 DECL_BOOLEAN_ACCESSORS(is_class_field_initializer) | |
7459 | |
7460 // Indicates that this function is an asm function. | 7454 // Indicates that this function is an asm function. |
7461 DECL_BOOLEAN_ACCESSORS(asm_function) | 7455 DECL_BOOLEAN_ACCESSORS(asm_function) |
7462 | 7456 |
7463 // Indicates that the the shared function info is deserialized from cache. | 7457 // Indicates that the the shared function info is deserialized from cache. |
7464 DECL_BOOLEAN_ACCESSORS(deserialized) | 7458 DECL_BOOLEAN_ACCESSORS(deserialized) |
7465 | 7459 |
7466 // Whether this function was created from a FunctionDeclaration. | 7460 // Whether this function was created from a FunctionDeclaration. |
7467 DECL_BOOLEAN_ACCESSORS(is_declaration) | 7461 DECL_BOOLEAN_ACCESSORS(is_declaration) |
7468 | 7462 |
7469 // Whether this function was marked to be tiered up. | 7463 // Whether this function was marked to be tiered up. |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7731 static const int kIsTopLevelBit = 1; | 7725 static const int kIsTopLevelBit = 1; |
7732 static const int kStartPositionShift = 2; | 7726 static const int kStartPositionShift = 2; |
7733 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 7727 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
7734 | 7728 |
7735 // Bit positions in compiler_hints. | 7729 // Bit positions in compiler_hints. |
7736 enum CompilerHints { | 7730 enum CompilerHints { |
7737 // byte 0 | 7731 // byte 0 |
7738 kAllowLazyCompilation, | 7732 kAllowLazyCompilation, |
7739 kMarkedForTierUp, | 7733 kMarkedForTierUp, |
7740 kOptimizationDisabled, | 7734 kOptimizationDisabled, |
7741 kIsClassFieldInitializer, | 7735 kHasDuplicateParameters, |
7742 kNative, | 7736 kNative, |
7743 kStrictModeFunction, | 7737 kStrictModeFunction, |
7744 kUsesArguments, | 7738 kUsesArguments, |
7745 kNeedsHomeObject, | 7739 kNeedsHomeObject, |
7746 // byte 1 | 7740 // byte 1 |
7747 kHasDuplicateParameters, | |
7748 kForceInline, | 7741 kForceInline, |
7749 kIsAsmFunction, | 7742 kIsAsmFunction, |
7750 kIsAnonymousExpression, | 7743 kIsAnonymousExpression, |
7751 kNameShouldPrintAsAnonymous, | 7744 kNameShouldPrintAsAnonymous, |
7752 kIsFunction, | 7745 kIsFunction, |
7753 kMustUseIgnitionTurbo, | 7746 kMustUseIgnitionTurbo, |
7754 kDontFlush, | 7747 kDontFlush, |
| 7748 kIsDeclaration, |
7755 // byte 2 | 7749 // byte 2 |
7756 kFunctionKind, | 7750 kFunctionKind, |
7757 // rest of byte 2 and first two bits of byte 3 are used by FunctionKind | 7751 // rest of byte 2 and first two bits of byte 3 are used by FunctionKind |
7758 // byte 3 | 7752 // byte 3 |
7759 kDeserialized = kFunctionKind + 10, | 7753 kDeserialized = kFunctionKind + 10, |
7760 kIsDeclaration, | |
7761 kIsAsmWasmBroken, | 7754 kIsAsmWasmBroken, |
7762 kRequiresClassFieldInit, | |
7763 kCompilerHintsCount, // Pseudo entry | 7755 kCompilerHintsCount, // Pseudo entry |
7764 }; | 7756 }; |
7765 // kFunctionKind has to be byte-aligned | 7757 // kFunctionKind has to be byte-aligned |
7766 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); | 7758 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); |
7767 | 7759 |
7768 class FunctionKindBits : public BitField<FunctionKind, kFunctionKind, 10> {}; | 7760 class FunctionKindBits : public BitField<FunctionKind, kFunctionKind, 10> {}; |
7769 | 7761 |
7770 class DeoptCountBits : public BitField<int, 0, 4> {}; | 7762 class DeoptCountBits : public BitField<int, 0, 4> {}; |
7771 class OptReenableTriesBits : public BitField<int, 4, 18> {}; | 7763 class OptReenableTriesBits : public BitField<int, 4, 18> {}; |
7772 class ICAgeBits : public BitField<int, 22, 8> {}; | 7764 class ICAgeBits : public BitField<int, 22, 8> {}; |
(...skipping 3980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11753 } | 11745 } |
11754 }; | 11746 }; |
11755 | 11747 |
11756 | 11748 |
11757 } // NOLINT, false-positive due to second-order macros. | 11749 } // NOLINT, false-positive due to second-order macros. |
11758 } // NOLINT, false-positive due to second-order macros. | 11750 } // NOLINT, false-positive due to second-order macros. |
11759 | 11751 |
11760 #include "src/objects/object-macros-undef.h" | 11752 #include "src/objects/object-macros-undef.h" |
11761 | 11753 |
11762 #endif // V8_OBJECTS_H_ | 11754 #endif // V8_OBJECTS_H_ |
OLD | NEW |