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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 InlinedFunctionInfo(int parent_id, SourcePosition inline_position, | 90 InlinedFunctionInfo(int parent_id, SourcePosition inline_position, |
91 int script_id, int start_position) | 91 int script_id, int start_position) |
92 : parent_id(parent_id), | 92 : parent_id(parent_id), |
93 inline_position(inline_position), | 93 inline_position(inline_position), |
94 script_id(script_id), | 94 script_id(script_id), |
95 start_position(start_position) {} | 95 start_position(start_position) {} |
96 int parent_id; | 96 int parent_id; |
97 SourcePosition inline_position; | 97 SourcePosition inline_position; |
98 int script_id; | 98 int script_id; |
99 int start_position; | 99 int start_position; |
| 100 std::vector<int> deopt_pc_offsets; |
100 | 101 |
101 static const int kNoParentId = -1; | 102 static const int kNoParentId = -1; |
102 }; | 103 }; |
103 | 104 |
104 | 105 |
105 // CompilationInfo encapsulates some information known at compile time. It | 106 // CompilationInfo encapsulates some information known at compile time. It |
106 // is constructed based on the resources available at compile-time. | 107 // is constructed based on the resources available at compile-time. |
107 class CompilationInfo { | 108 class CompilationInfo { |
108 public: | 109 public: |
109 // Various configuration flags for a compilation, as well as some properties | 110 // Various configuration flags for a compilation, as well as some properties |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 | 336 |
336 List<OffsetRange>* ReleaseNoFrameRanges() { | 337 List<OffsetRange>* ReleaseNoFrameRanges() { |
337 List<OffsetRange>* result = no_frame_ranges_; | 338 List<OffsetRange>* result = no_frame_ranges_; |
338 no_frame_ranges_ = NULL; | 339 no_frame_ranges_ = NULL; |
339 return result; | 340 return result; |
340 } | 341 } |
341 | 342 |
342 std::vector<InlinedFunctionInfo>* inlined_function_infos() { | 343 std::vector<InlinedFunctionInfo>* inlined_function_infos() { |
343 return inlined_function_infos_; | 344 return inlined_function_infos_; |
344 } | 345 } |
| 346 std::vector<InlinedFunctionInfo>* ReleaseInlinedFunctionInfos() { |
| 347 std::vector<InlinedFunctionInfo>* tmp = inlined_function_infos_; |
| 348 inlined_function_infos_ = NULL; |
| 349 return tmp; |
| 350 } |
| 351 |
| 352 void LogDeoptCallPosition(int pc_offset, int inlining_id); |
345 int TraceInlinedFunction(Handle<SharedFunctionInfo> shared, | 353 int TraceInlinedFunction(Handle<SharedFunctionInfo> shared, |
346 SourcePosition position, int pareint_id); | 354 SourcePosition position, int pareint_id); |
347 | 355 |
348 Handle<Foreign> object_wrapper() { | 356 Handle<Foreign> object_wrapper() { |
349 if (object_wrapper_.is_null()) { | 357 if (object_wrapper_.is_null()) { |
350 object_wrapper_ = | 358 object_wrapper_ = |
351 isolate()->factory()->NewForeign(reinterpret_cast<Address>(this)); | 359 isolate()->factory()->NewForeign(reinterpret_cast<Address>(this)); |
352 } | 360 } |
353 return object_wrapper_; | 361 return object_wrapper_; |
354 } | 362 } |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 Zone zone_; | 700 Zone zone_; |
693 size_t info_zone_start_allocation_size_; | 701 size_t info_zone_start_allocation_size_; |
694 base::ElapsedTimer timer_; | 702 base::ElapsedTimer timer_; |
695 | 703 |
696 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 704 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
697 }; | 705 }; |
698 | 706 |
699 } } // namespace v8::internal | 707 } } // namespace v8::internal |
700 | 708 |
701 #endif // V8_COMPILER_H_ | 709 #endif // V8_COMPILER_H_ |
OLD | NEW |