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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 return isolate_; | 158 return isolate_; |
159 } | 159 } |
160 Zone* zone() { return zone_; } | 160 Zone* zone() { return zone_; } |
161 bool is_osr() const { return !osr_ast_id_.IsNone(); } | 161 bool is_osr() const { return !osr_ast_id_.IsNone(); } |
162 Handle<Code> code() const { return code_; } | 162 Handle<Code> code() const { return code_; } |
163 CodeStub* code_stub() const { return code_stub_; } | 163 CodeStub* code_stub() const { return code_stub_; } |
164 BailoutId osr_ast_id() const { return osr_ast_id_; } | 164 BailoutId osr_ast_id() const { return osr_ast_id_; } |
165 Handle<Code> unoptimized_code() const { return unoptimized_code_; } | 165 Handle<Code> unoptimized_code() const { return unoptimized_code_; } |
166 int opt_count() const { return opt_count_; } | 166 int opt_count() const { return opt_count_; } |
167 int num_parameters() const; | 167 int num_parameters() const; |
| 168 int num_parameters_including_this() const; |
| 169 bool is_this_defined() const; |
168 int num_heap_slots() const; | 170 int num_heap_slots() const; |
169 Code::Flags flags() const; | 171 Code::Flags flags() const; |
170 bool has_scope() const { return scope() != nullptr; } | 172 bool has_scope() const { return scope() != nullptr; } |
171 | 173 |
172 void set_parameter_count(int parameter_count) { | 174 void set_parameter_count(int parameter_count) { |
173 DCHECK(IsStub()); | 175 DCHECK(IsStub()); |
174 parameter_count_ = parameter_count; | 176 parameter_count_ = parameter_count; |
175 } | 177 } |
176 | 178 |
177 bool is_tracking_positions() const { return track_positions_; } | 179 bool is_tracking_positions() const { return track_positions_; } |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 DCHECK(height >= 0); | 382 DCHECK(height >= 0); |
381 osr_expr_stack_height_ = height; | 383 osr_expr_stack_height_ = height; |
382 } | 384 } |
383 | 385 |
384 #if DEBUG | 386 #if DEBUG |
385 void PrintAstForTesting(); | 387 void PrintAstForTesting(); |
386 #endif | 388 #endif |
387 | 389 |
388 bool is_simple_parameter_list(); | 390 bool is_simple_parameter_list(); |
389 | 391 |
| 392 Handle<Code> GenerateCodeStub(); |
| 393 |
390 protected: | 394 protected: |
391 ParseInfo* parse_info_; | 395 ParseInfo* parse_info_; |
392 | 396 |
393 void DisableFutureOptimization() { | 397 void DisableFutureOptimization() { |
394 if (GetFlag(kDisableFutureOptimization) && has_shared_info()) { | 398 if (GetFlag(kDisableFutureOptimization) && has_shared_info()) { |
395 shared_info()->DisableOptimization(bailout_reason()); | 399 shared_info()->DisableOptimization(bailout_reason()); |
396 } | 400 } |
397 } | 401 } |
398 | 402 |
399 private: | 403 private: |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 Zone zone_; | 679 Zone zone_; |
676 size_t info_zone_start_allocation_size_; | 680 size_t info_zone_start_allocation_size_; |
677 base::ElapsedTimer timer_; | 681 base::ElapsedTimer timer_; |
678 | 682 |
679 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 683 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
680 }; | 684 }; |
681 | 685 |
682 } } // namespace v8::internal | 686 } } // namespace v8::internal |
683 | 687 |
684 #endif // V8_COMPILER_H_ | 688 #endif // V8_COMPILER_H_ |
OLD | NEW |