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 6784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6795 inline void set_ast_node_count(int count); | 6795 inline void set_ast_node_count(int count); |
6796 | 6796 |
6797 inline int profiler_ticks() const; | 6797 inline int profiler_ticks() const; |
6798 inline void set_profiler_ticks(int ticks); | 6798 inline void set_profiler_ticks(int ticks); |
6799 | 6799 |
6800 // Inline cache age is used to infer whether the function survived a context | 6800 // Inline cache age is used to infer whether the function survived a context |
6801 // disposal or not. In the former case we reset the opt_count. | 6801 // disposal or not. In the former case we reset the opt_count. |
6802 inline int ic_age(); | 6802 inline int ic_age(); |
6803 inline void set_ic_age(int age); | 6803 inline void set_ic_age(int age); |
6804 | 6804 |
6805 DECL_BOOLEAN_ACCESSORS(optimize_next_closure) | |
6806 | |
6807 // Indicates if this function can be lazy compiled. | 6805 // Indicates if this function can be lazy compiled. |
6808 // This is used to determine if we can safely flush code from a function | 6806 // This is used to determine if we can safely flush code from a function |
6809 // when doing GC if we expect that the function will no longer be used. | 6807 // when doing GC if we expect that the function will no longer be used. |
6810 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation) | 6808 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation) |
6811 | 6809 |
6812 // Indicates if this function can be lazy compiled without a context. | 6810 // Indicates if this function can be lazy compiled without a context. |
6813 // This is used to determine if we can force compilation without reaching | 6811 // This is used to determine if we can force compilation without reaching |
6814 // the function through program execution but through other means (e.g. heap | 6812 // the function through program execution but through other means (e.g. heap |
6815 // iteration by the debugger). | 6813 // iteration by the debugger). |
6816 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) | 6814 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7099 // the start_position_and_type field. | 7097 // the start_position_and_type field. |
7100 static const int kIsExpressionBit = 0; | 7098 static const int kIsExpressionBit = 0; |
7101 static const int kIsTopLevelBit = 1; | 7099 static const int kIsTopLevelBit = 1; |
7102 static const int kStartPositionShift = 2; | 7100 static const int kStartPositionShift = 2; |
7103 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 7101 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
7104 | 7102 |
7105 // Bit positions in compiler_hints. | 7103 // Bit positions in compiler_hints. |
7106 enum CompilerHints { | 7104 enum CompilerHints { |
7107 kAllowLazyCompilation, | 7105 kAllowLazyCompilation, |
7108 kAllowLazyCompilationWithoutContext, | 7106 kAllowLazyCompilationWithoutContext, |
7109 kOptimizeNextClosure, | |
7110 kOptimizationDisabled, | 7107 kOptimizationDisabled, |
7111 kStrictModeFunction, | 7108 kStrictModeFunction, |
7112 kUsesArguments, | 7109 kUsesArguments, |
7113 kUsesSuper, | 7110 kUsesSuper, |
7114 kHasDuplicateParameters, | 7111 kHasDuplicateParameters, |
7115 kNative, | 7112 kNative, |
7116 kInlineBuiltin, | 7113 kInlineBuiltin, |
7117 kBoundFunction, | 7114 kBoundFunction, |
7118 kIsAnonymous, | 7115 kIsAnonymous, |
7119 kNameShouldPrintAsAnonymous, | 7116 kNameShouldPrintAsAnonymous, |
(...skipping 3859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10979 } else { | 10976 } else { |
10980 value &= ~(1 << bit_position); | 10977 value &= ~(1 << bit_position); |
10981 } | 10978 } |
10982 return value; | 10979 return value; |
10983 } | 10980 } |
10984 }; | 10981 }; |
10985 | 10982 |
10986 } } // namespace v8::internal | 10983 } } // namespace v8::internal |
10987 | 10984 |
10988 #endif // V8_OBJECTS_H_ | 10985 #endif // V8_OBJECTS_H_ |
OLD | NEW |