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 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 | 253 |
254 private: | 254 private: |
255 void AddBlock(HBasicBlock* block); | 255 void AddBlock(HBasicBlock* block); |
256 | 256 |
257 ZoneList<HBasicBlock*> back_edges_; | 257 ZoneList<HBasicBlock*> back_edges_; |
258 HBasicBlock* loop_header_; | 258 HBasicBlock* loop_header_; |
259 ZoneList<HBasicBlock*> blocks_; | 259 ZoneList<HBasicBlock*> blocks_; |
260 HStackCheck* stack_check_; | 260 HStackCheck* stack_check_; |
261 }; | 261 }; |
262 | 262 |
| 263 |
263 class BoundsCheckTable; | 264 class BoundsCheckTable; |
264 class HGraph: public ZoneObject { | 265 class HGraph: public ZoneObject { |
265 public: | 266 public: |
266 explicit HGraph(CompilationInfo* info); | 267 explicit HGraph(CompilationInfo* info); |
267 | 268 |
268 Isolate* isolate() const { return isolate_; } | 269 Isolate* isolate() const { return isolate_; } |
269 Zone* zone() const { return zone_; } | 270 Zone* zone() const { return zone_; } |
270 CompilationInfo* info() const { return info_; } | 271 CompilationInfo* info() const { return info_; } |
271 | 272 |
272 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; } | 273 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; } |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
867 void ClearInlinedTestContext() { | 868 void ClearInlinedTestContext() { |
868 delete test_context_; | 869 delete test_context_; |
869 test_context_ = NULL; | 870 test_context_ = NULL; |
870 } | 871 } |
871 | 872 |
872 FunctionState* outer() { return outer_; } | 873 FunctionState* outer() { return outer_; } |
873 | 874 |
874 HEnterInlined* entry() { return entry_; } | 875 HEnterInlined* entry() { return entry_; } |
875 void set_entry(HEnterInlined* entry) { entry_ = entry; } | 876 void set_entry(HEnterInlined* entry) { entry_ = entry; } |
876 | 877 |
| 878 HArgumentsObject* arguments_object() { return arguments_object_; } |
| 879 void set_arguments_object(HArgumentsObject* arguments_object) { |
| 880 arguments_object_ = arguments_object; |
| 881 } |
| 882 |
877 HArgumentsElements* arguments_elements() { return arguments_elements_; } | 883 HArgumentsElements* arguments_elements() { return arguments_elements_; } |
878 void set_arguments_elements(HArgumentsElements* arguments_elements) { | 884 void set_arguments_elements(HArgumentsElements* arguments_elements) { |
879 arguments_elements_ = arguments_elements; | 885 arguments_elements_ = arguments_elements; |
880 } | 886 } |
881 | 887 |
882 bool arguments_pushed() { return arguments_elements() != NULL; } | 888 bool arguments_pushed() { return arguments_elements() != NULL; } |
883 | 889 |
884 private: | 890 private: |
885 HOptimizedGraphBuilder* owner_; | 891 HOptimizedGraphBuilder* owner_; |
886 | 892 |
(...skipping 13 matching lines...) Expand all Loading... |
900 HBasicBlock* function_return_; | 906 HBasicBlock* function_return_; |
901 | 907 |
902 // When inlining a call in a test context, a context containing a pair of | 908 // When inlining a call in a test context, a context containing a pair of |
903 // return blocks. NULL in all other cases. | 909 // return blocks. NULL in all other cases. |
904 TestContext* test_context_; | 910 TestContext* test_context_; |
905 | 911 |
906 // When inlining HEnterInlined instruction corresponding to the function | 912 // When inlining HEnterInlined instruction corresponding to the function |
907 // entry. | 913 // entry. |
908 HEnterInlined* entry_; | 914 HEnterInlined* entry_; |
909 | 915 |
| 916 HArgumentsObject* arguments_object_; |
910 HArgumentsElements* arguments_elements_; | 917 HArgumentsElements* arguments_elements_; |
911 | 918 |
912 FunctionState* outer_; | 919 FunctionState* outer_; |
913 }; | 920 }; |
914 | 921 |
915 | 922 |
916 class HIfContinuation { | 923 class HIfContinuation { |
917 public: | 924 public: |
918 HIfContinuation() { continuation_captured_ = false; } | 925 HIfContinuation() { continuation_captured_ = false; } |
919 ~HIfContinuation() { ASSERT(!continuation_captured_); } | 926 ~HIfContinuation() { ASSERT(!continuation_captured_); } |
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2020 EmbeddedVector<char, 64> filename_; | 2027 EmbeddedVector<char, 64> filename_; |
2021 HeapStringAllocator string_allocator_; | 2028 HeapStringAllocator string_allocator_; |
2022 StringStream trace_; | 2029 StringStream trace_; |
2023 int indent_; | 2030 int indent_; |
2024 }; | 2031 }; |
2025 | 2032 |
2026 | 2033 |
2027 } } // namespace v8::internal | 2034 } } // namespace v8::internal |
2028 | 2035 |
2029 #endif // V8_HYDROGEN_H_ | 2036 #endif // V8_HYDROGEN_H_ |
OLD | NEW |