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_COMPILER_H_ | 5 #ifndef V8_COMPILER_H_ |
6 #define V8_COMPILER_H_ | 6 #define V8_COMPILER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/ast.h" | 9 #include "src/ast.h" |
10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 kDeferredCalling = 1 << 0, | 110 kDeferredCalling = 1 << 0, |
111 kNonDeferredCalling = 1 << 1, | 111 kNonDeferredCalling = 1 << 1, |
112 kSavesCallerDoubles = 1 << 2, | 112 kSavesCallerDoubles = 1 << 2, |
113 kRequiresFrame = 1 << 3, | 113 kRequiresFrame = 1 << 3, |
114 kMustNotHaveEagerFrame = 1 << 4, | 114 kMustNotHaveEagerFrame = 1 << 4, |
115 kDeoptimizationSupport = 1 << 5, | 115 kDeoptimizationSupport = 1 << 5, |
116 kDebug = 1 << 6, | 116 kDebug = 1 << 6, |
117 kSerializing = 1 << 7, | 117 kSerializing = 1 << 7, |
118 kFunctionContextSpecializing = 1 << 8, | 118 kFunctionContextSpecializing = 1 << 8, |
119 kFrameSpecializing = 1 << 9, | 119 kFrameSpecializing = 1 << 9, |
120 kInliningEnabled = 1 << 10, | 120 kNativeContextSpecializing = 1 << 10, |
121 kTypingEnabled = 1 << 11, | 121 kInliningEnabled = 1 << 11, |
122 kDisableFutureOptimization = 1 << 12, | 122 kTypingEnabled = 1 << 12, |
123 kSplittingEnabled = 1 << 13, | 123 kDisableFutureOptimization = 1 << 13, |
124 kTypeFeedbackEnabled = 1 << 14, | 124 kSplittingEnabled = 1 << 14, |
125 kDeoptimizationEnabled = 1 << 15, | 125 kTypeFeedbackEnabled = 1 << 15, |
126 kSourcePositionsEnabled = 1 << 16, | 126 kDeoptimizationEnabled = 1 << 16, |
127 kFirstCompile = 1 << 17, | 127 kSourcePositionsEnabled = 1 << 17, |
| 128 kFirstCompile = 1 << 18, |
128 }; | 129 }; |
129 | 130 |
130 explicit CompilationInfo(ParseInfo* parse_info); | 131 explicit CompilationInfo(ParseInfo* parse_info); |
131 CompilationInfo(CodeStub* stub, Isolate* isolate, Zone* zone); | 132 CompilationInfo(CodeStub* stub, Isolate* isolate, Zone* zone); |
132 CompilationInfo(const char* debug_name, Isolate* isolate, Zone* zone); | 133 CompilationInfo(const char* debug_name, Isolate* isolate, Zone* zone); |
133 virtual ~CompilationInfo(); | 134 virtual ~CompilationInfo(); |
134 | 135 |
135 ParseInfo* parse_info() const { return parse_info_; } | 136 ParseInfo* parse_info() const { return parse_info_; } |
136 | 137 |
137 // ----------------------------------------------------------- | 138 // ----------------------------------------------------------- |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 } | 221 } |
221 | 222 |
222 bool is_function_context_specializing() const { | 223 bool is_function_context_specializing() const { |
223 return GetFlag(kFunctionContextSpecializing); | 224 return GetFlag(kFunctionContextSpecializing); |
224 } | 225 } |
225 | 226 |
226 void MarkAsFrameSpecializing() { SetFlag(kFrameSpecializing); } | 227 void MarkAsFrameSpecializing() { SetFlag(kFrameSpecializing); } |
227 | 228 |
228 bool is_frame_specializing() const { return GetFlag(kFrameSpecializing); } | 229 bool is_frame_specializing() const { return GetFlag(kFrameSpecializing); } |
229 | 230 |
| 231 void MarkAsNativeContextSpecializing() { |
| 232 SetFlag(kNativeContextSpecializing); |
| 233 } |
| 234 |
| 235 bool is_native_context_specializing() const { |
| 236 return GetFlag(kNativeContextSpecializing); |
| 237 } |
| 238 |
230 void MarkAsTypeFeedbackEnabled() { SetFlag(kTypeFeedbackEnabled); } | 239 void MarkAsTypeFeedbackEnabled() { SetFlag(kTypeFeedbackEnabled); } |
231 | 240 |
232 bool is_type_feedback_enabled() const { | 241 bool is_type_feedback_enabled() const { |
233 return GetFlag(kTypeFeedbackEnabled); | 242 return GetFlag(kTypeFeedbackEnabled); |
234 } | 243 } |
235 | 244 |
236 void MarkAsDeoptimizationEnabled() { SetFlag(kDeoptimizationEnabled); } | 245 void MarkAsDeoptimizationEnabled() { SetFlag(kDeoptimizationEnabled); } |
237 | 246 |
238 bool is_deoptimization_enabled() const { | 247 bool is_deoptimization_enabled() const { |
239 return GetFlag(kDeoptimizationEnabled); | 248 return GetFlag(kDeoptimizationEnabled); |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 size_t info_zone_start_allocation_size_; | 702 size_t info_zone_start_allocation_size_; |
694 base::ElapsedTimer timer_; | 703 base::ElapsedTimer timer_; |
695 | 704 |
696 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 705 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
697 }; | 706 }; |
698 | 707 |
699 } // namespace internal | 708 } // namespace internal |
700 } // namespace v8 | 709 } // namespace v8 |
701 | 710 |
702 #endif // V8_COMPILER_H_ | 711 #endif // V8_COMPILER_H_ |
OLD | NEW |