OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 6765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6776 inline void set_ast_node_count(int count); | 6776 inline void set_ast_node_count(int count); |
6777 | 6777 |
6778 inline int profiler_ticks() const; | 6778 inline int profiler_ticks() const; |
6779 inline void set_profiler_ticks(int ticks); | 6779 inline void set_profiler_ticks(int ticks); |
6780 | 6780 |
6781 // Inline cache age is used to infer whether the function survived a context | 6781 // Inline cache age is used to infer whether the function survived a context |
6782 // disposal or not. In the former case we reset the opt_count. | 6782 // disposal or not. In the former case we reset the opt_count. |
6783 inline int ic_age(); | 6783 inline int ic_age(); |
6784 inline void set_ic_age(int age); | 6784 inline void set_ic_age(int age); |
6785 | 6785 |
6786 DECL_BOOLEAN_ACCESSORS(optimize_next_closure) | |
6787 | |
6788 // Indicates if this function can be lazy compiled. | 6786 // Indicates if this function can be lazy compiled. |
6789 // This is used to determine if we can safely flush code from a function | 6787 // This is used to determine if we can safely flush code from a function |
6790 // when doing GC if we expect that the function will no longer be used. | 6788 // when doing GC if we expect that the function will no longer be used. |
6791 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation) | 6789 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation) |
6792 | 6790 |
6793 // Indicates if this function can be lazy compiled without a context. | 6791 // Indicates if this function can be lazy compiled without a context. |
6794 // This is used to determine if we can force compilation without reaching | 6792 // This is used to determine if we can force compilation without reaching |
6795 // the function through program execution but through other means (e.g. heap | 6793 // the function through program execution but through other means (e.g. heap |
6796 // iteration by the debugger). | 6794 // iteration by the debugger). |
6797 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) | 6795 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7068 // the start_position_and_type field. | 7066 // the start_position_and_type field. |
7069 static const int kIsExpressionBit = 0; | 7067 static const int kIsExpressionBit = 0; |
7070 static const int kIsTopLevelBit = 1; | 7068 static const int kIsTopLevelBit = 1; |
7071 static const int kStartPositionShift = 2; | 7069 static const int kStartPositionShift = 2; |
7072 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 7070 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
7073 | 7071 |
7074 // Bit positions in compiler_hints. | 7072 // Bit positions in compiler_hints. |
7075 enum CompilerHints { | 7073 enum CompilerHints { |
7076 kAllowLazyCompilation, | 7074 kAllowLazyCompilation, |
7077 kAllowLazyCompilationWithoutContext, | 7075 kAllowLazyCompilationWithoutContext, |
7078 kOptimizeNextClosure, | |
7079 kOptimizationDisabled, | 7076 kOptimizationDisabled, |
7080 kStrictModeFunction, | 7077 kStrictModeFunction, |
7081 kUsesArguments, | 7078 kUsesArguments, |
7082 kHasDuplicateParameters, | 7079 kHasDuplicateParameters, |
7083 kNative, | 7080 kNative, |
7084 kInlineBuiltin, | 7081 kInlineBuiltin, |
7085 kBoundFunction, | 7082 kBoundFunction, |
7086 kIsAnonymous, | 7083 kIsAnonymous, |
7087 kNameShouldPrintAsAnonymous, | 7084 kNameShouldPrintAsAnonymous, |
7088 kIsFunction, | 7085 kIsFunction, |
(...skipping 3843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10932 } else { | 10929 } else { |
10933 value &= ~(1 << bit_position); | 10930 value &= ~(1 << bit_position); |
10934 } | 10931 } |
10935 return value; | 10932 return value; |
10936 } | 10933 } |
10937 }; | 10934 }; |
10938 | 10935 |
10939 } } // namespace v8::internal | 10936 } } // namespace v8::internal |
10940 | 10937 |
10941 #endif // V8_OBJECTS_H_ | 10938 #endif // V8_OBJECTS_H_ |
OLD | NEW |