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_CRANKSHAFT_HYDROGEN_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ |
6 #define V8_CRANKSHAFT_HYDROGEN_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_H_ |
7 | 7 |
8 #include "src/accessors.h" | 8 #include "src/accessors.h" |
9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
10 #include "src/ast/ast-type-bounds.h" | 10 #include "src/ast/ast-type-bounds.h" |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 if (depends_on_empty_array_proto_elements_) return; | 433 if (depends_on_empty_array_proto_elements_) return; |
434 info()->dependencies()->AssumePropertyCell( | 434 info()->dependencies()->AssumePropertyCell( |
435 isolate()->factory()->array_protector()); | 435 isolate()->factory()->array_protector()); |
436 depends_on_empty_array_proto_elements_ = true; | 436 depends_on_empty_array_proto_elements_ = true; |
437 } | 437 } |
438 | 438 |
439 bool depends_on_empty_array_proto_elements() { | 439 bool depends_on_empty_array_proto_elements() { |
440 return depends_on_empty_array_proto_elements_; | 440 return depends_on_empty_array_proto_elements_; |
441 } | 441 } |
442 | 442 |
443 void MarkDependsOnStringLengthOverflow() { | |
444 if (depends_on_string_length_overflow_) return; | |
445 info()->dependencies()->AssumePropertyCell( | |
446 isolate()->factory()->string_length_protector()); | |
447 depends_on_string_length_overflow_ = true; | |
448 } | |
449 | |
450 bool has_uint32_instructions() { | 443 bool has_uint32_instructions() { |
451 DCHECK(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); | 444 DCHECK(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); |
452 return uint32_instructions_ != NULL; | 445 return uint32_instructions_ != NULL; |
453 } | 446 } |
454 | 447 |
455 ZoneList<HInstruction*>* uint32_instructions() { | 448 ZoneList<HInstruction*>* uint32_instructions() { |
456 DCHECK(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); | 449 DCHECK(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); |
457 return uint32_instructions_; | 450 return uint32_instructions_; |
458 } | 451 } |
459 | 452 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 | 508 |
516 HOsrBuilder* osr_; | 509 HOsrBuilder* osr_; |
517 | 510 |
518 CompilationInfo* info_; | 511 CompilationInfo* info_; |
519 CallInterfaceDescriptor descriptor_; | 512 CallInterfaceDescriptor descriptor_; |
520 Zone* zone_; | 513 Zone* zone_; |
521 | 514 |
522 bool allow_code_motion_; | 515 bool allow_code_motion_; |
523 bool use_optimistic_licm_; | 516 bool use_optimistic_licm_; |
524 bool depends_on_empty_array_proto_elements_; | 517 bool depends_on_empty_array_proto_elements_; |
525 bool depends_on_string_length_overflow_; | |
526 int type_change_checksum_; | 518 int type_change_checksum_; |
527 int maximum_environment_size_; | 519 int maximum_environment_size_; |
528 int no_side_effects_scope_count_; | 520 int no_side_effects_scope_count_; |
529 bool disallow_adding_new_values_; | 521 bool disallow_adding_new_values_; |
530 | 522 |
531 ZoneVector<HInlinedFunctionInfo> inlined_function_infos_; | 523 ZoneVector<HInlinedFunctionInfo> inlined_function_infos_; |
532 | 524 |
533 DISALLOW_COPY_AND_ASSIGN(HGraph); | 525 DISALLOW_COPY_AND_ASSIGN(HGraph); |
534 }; | 526 }; |
535 | 527 |
(...skipping 2513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3049 } | 3041 } |
3050 | 3042 |
3051 private: | 3043 private: |
3052 HOptimizedGraphBuilder* builder_; | 3044 HOptimizedGraphBuilder* builder_; |
3053 }; | 3045 }; |
3054 | 3046 |
3055 } // namespace internal | 3047 } // namespace internal |
3056 } // namespace v8 | 3048 } // namespace v8 |
3057 | 3049 |
3058 #endif // V8_CRANKSHAFT_HYDROGEN_H_ | 3050 #endif // V8_CRANKSHAFT_HYDROGEN_H_ |
OLD | NEW |