OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
950 IfBuilder(HGraphBuilder* builder, BailoutId id); | 950 IfBuilder(HGraphBuilder* builder, BailoutId id); |
951 ~IfBuilder() { | 951 ~IfBuilder() { |
952 if (!finished_) End(); | 952 if (!finished_) End(); |
953 } | 953 } |
954 | 954 |
955 HInstruction* BeginTrue( | 955 HInstruction* BeginTrue( |
956 HValue* left, | 956 HValue* left, |
957 HValue* right, | 957 HValue* right, |
958 Token::Value token, | 958 Token::Value token, |
959 Representation input_representation = Representation::Integer32()); | 959 Representation input_representation = Representation::Integer32()); |
| 960 void BeginCompareMapTrue(HValue* value, Handle<Map> map); |
960 void BeginFalse(); | 961 void BeginFalse(); |
961 void End(); | 962 void End(); |
962 | 963 |
963 private: | 964 private: |
964 Zone* zone() { return builder_->zone(); } | 965 Zone* zone() { return builder_->zone(); } |
965 | 966 |
966 HGraphBuilder* builder_; | 967 HGraphBuilder* builder_; |
967 bool finished_; | 968 bool finished_; |
968 HBasicBlock* first_true_block_; | 969 HBasicBlock* first_true_block_; |
969 HBasicBlock* last_true_block_; | 970 HBasicBlock* last_true_block_; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1015 ElementsKind kind, | 1016 ElementsKind kind, |
1016 HValue* capacity); | 1017 HValue* capacity); |
1017 | 1018 |
1018 void BuildCopyElements(HContext* context, | 1019 void BuildCopyElements(HContext* context, |
1019 HValue* from_elements, | 1020 HValue* from_elements, |
1020 ElementsKind from_elements_kind, | 1021 ElementsKind from_elements_kind, |
1021 HValue* to_elements, | 1022 HValue* to_elements, |
1022 ElementsKind to_elements_kind, | 1023 ElementsKind to_elements_kind, |
1023 HValue* length); | 1024 HValue* length); |
1024 | 1025 |
| 1026 HValue* BuildCloneShallowArray(HContext* context, |
| 1027 HValue* boilerplate, |
| 1028 AllocationSiteMode mode, |
| 1029 ElementsKind kind, |
| 1030 BailoutId id, |
| 1031 int length); |
| 1032 |
1025 private: | 1033 private: |
1026 HGraphBuilder(); | 1034 HGraphBuilder(); |
1027 CompilationInfo* info_; | 1035 CompilationInfo* info_; |
1028 HGraph* graph_; | 1036 HGraph* graph_; |
1029 HBasicBlock* current_block_; | 1037 HBasicBlock* current_block_; |
1030 }; | 1038 }; |
1031 | 1039 |
1032 | 1040 |
1033 class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor { | 1041 class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor { |
1034 public: | 1042 public: |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1679 EmbeddedVector<char, 64> filename_; | 1687 EmbeddedVector<char, 64> filename_; |
1680 HeapStringAllocator string_allocator_; | 1688 HeapStringAllocator string_allocator_; |
1681 StringStream trace_; | 1689 StringStream trace_; |
1682 int indent_; | 1690 int indent_; |
1683 }; | 1691 }; |
1684 | 1692 |
1685 | 1693 |
1686 } } // namespace v8::internal | 1694 } } // namespace v8::internal |
1687 | 1695 |
1688 #endif // V8_HYDROGEN_H_ | 1696 #endif // V8_HYDROGEN_H_ |
OLD | NEW |