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/zone.h" | 10 #include "src/zone.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 kNonDeferredCalling = 1 << 7, | 74 kNonDeferredCalling = 1 << 7, |
75 kSavesCallerDoubles = 1 << 8, | 75 kSavesCallerDoubles = 1 << 8, |
76 kRequiresFrame = 1 << 9, | 76 kRequiresFrame = 1 << 9, |
77 kMustNotHaveEagerFrame = 1 << 10, | 77 kMustNotHaveEagerFrame = 1 << 10, |
78 kDeoptimizationSupport = 1 << 11, | 78 kDeoptimizationSupport = 1 << 11, |
79 kDebug = 1 << 12, | 79 kDebug = 1 << 12, |
80 kCompilingForDebugging = 1 << 13, | 80 kCompilingForDebugging = 1 << 13, |
81 kParseRestriction = 1 << 14, | 81 kParseRestriction = 1 << 14, |
82 kSerializing = 1 << 15, | 82 kSerializing = 1 << 15, |
83 kContextSpecializing = 1 << 16, | 83 kContextSpecializing = 1 << 16, |
84 kInliningEnabled = 1 << 17 | 84 kInliningEnabled = 1 << 17, |
| 85 kTypingEnabled = 1 << 18 |
85 }; | 86 }; |
86 | 87 |
87 CompilationInfo(Handle<JSFunction> closure, Zone* zone); | 88 CompilationInfo(Handle<JSFunction> closure, Zone* zone); |
88 CompilationInfo(Isolate* isolate, Zone* zone); | 89 CompilationInfo(Isolate* isolate, Zone* zone); |
89 virtual ~CompilationInfo(); | 90 virtual ~CompilationInfo(); |
90 | 91 |
91 Isolate* isolate() const { | 92 Isolate* isolate() const { |
92 return isolate_; | 93 return isolate_; |
93 } | 94 } |
94 Zone* zone() { return zone_; } | 95 Zone* zone() { return zone_; } |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 bool will_serialize() const { return GetFlag(kSerializing); } | 185 bool will_serialize() const { return GetFlag(kSerializing); } |
185 | 186 |
186 void MarkAsContextSpecializing() { SetFlag(kContextSpecializing); } | 187 void MarkAsContextSpecializing() { SetFlag(kContextSpecializing); } |
187 | 188 |
188 bool is_context_specializing() const { return GetFlag(kContextSpecializing); } | 189 bool is_context_specializing() const { return GetFlag(kContextSpecializing); } |
189 | 190 |
190 void MarkAsInliningEnabled() { SetFlag(kInliningEnabled); } | 191 void MarkAsInliningEnabled() { SetFlag(kInliningEnabled); } |
191 | 192 |
192 bool is_inlining_enabled() const { return GetFlag(kInliningEnabled); } | 193 bool is_inlining_enabled() const { return GetFlag(kInliningEnabled); } |
193 | 194 |
| 195 void MarkAsTypingEnabled() { SetFlag(kTypingEnabled); } |
| 196 |
| 197 bool is_typing_enabled() const { return GetFlag(kTypingEnabled); } |
| 198 |
194 bool IsCodePreAgingActive() const { | 199 bool IsCodePreAgingActive() const { |
195 return FLAG_optimize_for_size && FLAG_age_code && !will_serialize() && | 200 return FLAG_optimize_for_size && FLAG_age_code && !will_serialize() && |
196 !is_debug(); | 201 !is_debug(); |
197 } | 202 } |
198 | 203 |
199 void SetParseRestriction(ParseRestriction restriction) { | 204 void SetParseRestriction(ParseRestriction restriction) { |
200 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION); | 205 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION); |
201 } | 206 } |
202 | 207 |
203 ParseRestriction parse_restriction() const { | 208 ParseRestriction parse_restriction() const { |
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 Zone zone_; | 712 Zone zone_; |
708 unsigned info_zone_start_allocation_size_; | 713 unsigned info_zone_start_allocation_size_; |
709 base::ElapsedTimer timer_; | 714 base::ElapsedTimer timer_; |
710 | 715 |
711 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 716 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
712 }; | 717 }; |
713 | 718 |
714 } } // namespace v8::internal | 719 } } // namespace v8::internal |
715 | 720 |
716 #endif // V8_COMPILER_H_ | 721 #endif // V8_COMPILER_H_ |
OLD | NEW |