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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 kDeoptimizationSupport = 1 << 11, | 83 kDeoptimizationSupport = 1 << 11, |
84 kDebug = 1 << 12, | 84 kDebug = 1 << 12, |
85 kCompilingForDebugging = 1 << 13, | 85 kCompilingForDebugging = 1 << 13, |
86 kParseRestriction = 1 << 14, | 86 kParseRestriction = 1 << 14, |
87 kSerializing = 1 << 15, | 87 kSerializing = 1 << 15, |
88 kContextSpecializing = 1 << 16, | 88 kContextSpecializing = 1 << 16, |
89 kInliningEnabled = 1 << 17, | 89 kInliningEnabled = 1 << 17, |
90 kTypingEnabled = 1 << 18, | 90 kTypingEnabled = 1 << 18, |
91 kDisableFutureOptimization = 1 << 19, | 91 kDisableFutureOptimization = 1 << 19, |
92 kModule = 1 << 20, | 92 kModule = 1 << 20, |
93 kToplevel = 1 << 21 | 93 kToplevel = 1 << 21, |
| 94 kSplittingEnabled = 1 << 22 |
94 }; | 95 }; |
95 | 96 |
96 CompilationInfo(Handle<JSFunction> closure, Zone* zone); | 97 CompilationInfo(Handle<JSFunction> closure, Zone* zone); |
97 CompilationInfo(Handle<Script> script, Zone* zone); | 98 CompilationInfo(Handle<Script> script, Zone* zone); |
98 CompilationInfo(Isolate* isolate, Zone* zone); | 99 CompilationInfo(Isolate* isolate, Zone* zone); |
99 virtual ~CompilationInfo(); | 100 virtual ~CompilationInfo(); |
100 | 101 |
101 Isolate* isolate() const { | 102 Isolate* isolate() const { |
102 return isolate_; | 103 return isolate_; |
103 } | 104 } |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 bool is_inlining_enabled() const { return GetFlag(kInliningEnabled); } | 216 bool is_inlining_enabled() const { return GetFlag(kInliningEnabled); } |
216 | 217 |
217 void MarkAsTypingEnabled() { SetFlag(kTypingEnabled); } | 218 void MarkAsTypingEnabled() { SetFlag(kTypingEnabled); } |
218 | 219 |
219 bool is_typing_enabled() const { return GetFlag(kTypingEnabled); } | 220 bool is_typing_enabled() const { return GetFlag(kTypingEnabled); } |
220 | 221 |
221 void MarkAsToplevel() { SetFlag(kToplevel); } | 222 void MarkAsToplevel() { SetFlag(kToplevel); } |
222 | 223 |
223 bool is_toplevel() const { return GetFlag(kToplevel); } | 224 bool is_toplevel() const { return GetFlag(kToplevel); } |
224 | 225 |
| 226 void MarkAsSplittingEnabled() { SetFlag(kSplittingEnabled); } |
| 227 |
| 228 bool is_splitting_enabled() const { return GetFlag(kSplittingEnabled); } |
| 229 |
225 bool IsCodePreAgingActive() const { | 230 bool IsCodePreAgingActive() const { |
226 return FLAG_optimize_for_size && FLAG_age_code && !will_serialize() && | 231 return FLAG_optimize_for_size && FLAG_age_code && !will_serialize() && |
227 !is_debug(); | 232 !is_debug(); |
228 } | 233 } |
229 | 234 |
230 void SetParseRestriction(ParseRestriction restriction) { | 235 void SetParseRestriction(ParseRestriction restriction) { |
231 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION); | 236 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION); |
232 } | 237 } |
233 | 238 |
234 ParseRestriction parse_restriction() const { | 239 ParseRestriction parse_restriction() const { |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 Zone zone_; | 773 Zone zone_; |
769 unsigned info_zone_start_allocation_size_; | 774 unsigned info_zone_start_allocation_size_; |
770 base::ElapsedTimer timer_; | 775 base::ElapsedTimer timer_; |
771 | 776 |
772 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 777 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
773 }; | 778 }; |
774 | 779 |
775 } } // namespace v8::internal | 780 } } // namespace v8::internal |
776 | 781 |
777 #endif // V8_COMPILER_H_ | 782 #endif // V8_COMPILER_H_ |
OLD | NEW |