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 7320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7331 | 7331 |
7332 // A function has debug code if the compiled code has debug break slots. | 7332 // A function has debug code if the compiled code has debug break slots. |
7333 inline bool HasDebugCode(); | 7333 inline bool HasDebugCode(); |
7334 | 7334 |
7335 // [debug info]: Debug information. | 7335 // [debug info]: Debug information. |
7336 DECL_ACCESSORS(debug_info, Object) | 7336 DECL_ACCESSORS(debug_info, Object) |
7337 | 7337 |
7338 // The function's name if it is non-empty, otherwise the inferred name. | 7338 // The function's name if it is non-empty, otherwise the inferred name. |
7339 String* DebugName(); | 7339 String* DebugName(); |
7340 | 7340 |
| 7341 // The function is blackboxed in debugger. |
| 7342 bool DebugIsBlackboxed(); |
| 7343 |
7341 // The function cannot cause any side effects. | 7344 // The function cannot cause any side effects. |
7342 bool HasNoSideEffect(); | 7345 bool HasNoSideEffect(); |
7343 | 7346 |
7344 // Used for flags such as --hydrogen-filter. | 7347 // Used for flags such as --hydrogen-filter. |
7345 bool PassesFilter(const char* raw_filter); | 7348 bool PassesFilter(const char* raw_filter); |
7346 | 7349 |
7347 // Position of the 'function' token in the script source. | 7350 // Position of the 'function' token in the script source. |
7348 inline int function_token_position() const; | 7351 inline int function_token_position() const; |
7349 inline void set_function_token_position(int function_token_position); | 7352 inline void set_function_token_position(int function_token_position); |
7350 | 7353 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7446 | 7449 |
7447 // Indicates that asm->wasm conversion failed and should not be re-attempted. | 7450 // Indicates that asm->wasm conversion failed and should not be re-attempted. |
7448 DECL_BOOLEAN_ACCESSORS(is_asm_wasm_broken) | 7451 DECL_BOOLEAN_ACCESSORS(is_asm_wasm_broken) |
7449 | 7452 |
7450 // Indicates that the function cannot cause side-effects. | 7453 // Indicates that the function cannot cause side-effects. |
7451 DECL_BOOLEAN_ACCESSORS(has_no_side_effect) | 7454 DECL_BOOLEAN_ACCESSORS(has_no_side_effect) |
7452 | 7455 |
7453 // Indicates that |has_no_side_effect| has been computed and set. | 7456 // Indicates that |has_no_side_effect| has been computed and set. |
7454 DECL_BOOLEAN_ACCESSORS(computed_has_no_side_effect) | 7457 DECL_BOOLEAN_ACCESSORS(computed_has_no_side_effect) |
7455 | 7458 |
| 7459 // Indicates that the function should be skipped during stepping. |
| 7460 DECL_BOOLEAN_ACCESSORS(debug_is_blackboxed) |
| 7461 |
| 7462 // Indicates that |debug_is_blackboxed| has been computed and set. |
| 7463 DECL_BOOLEAN_ACCESSORS(computed_debug_is_blackboxed) |
| 7464 |
7456 inline FunctionKind kind() const; | 7465 inline FunctionKind kind() const; |
7457 inline void set_kind(FunctionKind kind); | 7466 inline void set_kind(FunctionKind kind); |
7458 | 7467 |
7459 // Indicates whether or not the code in the shared function support | 7468 // Indicates whether or not the code in the shared function support |
7460 // deoptimization. | 7469 // deoptimization. |
7461 inline bool has_deoptimization_support(); | 7470 inline bool has_deoptimization_support(); |
7462 | 7471 |
7463 // Enable deoptimization support through recompiled code. | 7472 // Enable deoptimization support through recompiled code. |
7464 void EnableDeoptimizationSupport(Code* recompiled); | 7473 void EnableDeoptimizationSupport(Code* recompiled); |
7465 | 7474 |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7735 | 7744 |
7736 kUnused, // unused. | 7745 kUnused, // unused. |
7737 // byte 2 | 7746 // byte 2 |
7738 kFunctionKind, | 7747 kFunctionKind, |
7739 // rest of byte 2 and first two bits of byte 3 are used by FunctionKind | 7748 // rest of byte 2 and first two bits of byte 3 are used by FunctionKind |
7740 // byte 3 | 7749 // byte 3 |
7741 kDeserialized = kFunctionKind + 10, | 7750 kDeserialized = kFunctionKind + 10, |
7742 kIsAsmWasmBroken, | 7751 kIsAsmWasmBroken, |
7743 kHasNoSideEffect, | 7752 kHasNoSideEffect, |
7744 kComputedHasNoSideEffect, | 7753 kComputedHasNoSideEffect, |
| 7754 kDebugIsBlackboxed, |
| 7755 kComputedDebugIsBlackboxed, |
7745 kCompilerHintsCount, // Pseudo entry | 7756 kCompilerHintsCount, // Pseudo entry |
7746 }; | 7757 }; |
7747 // kFunctionKind has to be byte-aligned | 7758 // kFunctionKind has to be byte-aligned |
7748 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); | 7759 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); |
7749 | 7760 |
7750 class FunctionKindBits : public BitField<FunctionKind, kFunctionKind, 10> {}; | 7761 class FunctionKindBits : public BitField<FunctionKind, kFunctionKind, 10> {}; |
7751 | 7762 |
7752 class DeoptCountBits : public BitField<int, 0, 4> {}; | 7763 class DeoptCountBits : public BitField<int, 0, 4> {}; |
7753 class OptReenableTriesBits : public BitField<int, 4, 18> {}; | 7764 class OptReenableTriesBits : public BitField<int, 4, 18> {}; |
7754 class ICAgeBits : public BitField<int, 22, 8> {}; | 7765 class ICAgeBits : public BitField<int, 22, 8> {}; |
(...skipping 3932 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11687 } | 11698 } |
11688 }; | 11699 }; |
11689 | 11700 |
11690 | 11701 |
11691 } // NOLINT, false-positive due to second-order macros. | 11702 } // NOLINT, false-positive due to second-order macros. |
11692 } // NOLINT, false-positive due to second-order macros. | 11703 } // NOLINT, false-positive due to second-order macros. |
11693 | 11704 |
11694 #include "src/objects/object-macros-undef.h" | 11705 #include "src/objects/object-macros-undef.h" |
11695 | 11706 |
11696 #endif // V8_OBJECTS_H_ | 11707 #endif // V8_OBJECTS_H_ |
OLD | NEW |