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_DEOPTIMIZER_H_ | 5 #ifndef V8_DEOPTIMIZER_H_ |
6 #define V8_DEOPTIMIZER_H_ | 6 #define V8_DEOPTIMIZER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 | 10 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 const_iterator begin() const { return frames_.begin(); } | 245 const_iterator begin() const { return frames_.begin(); } |
246 const_iterator end() const { return frames_.end(); } | 246 const_iterator end() const { return frames_.end(); } |
247 | 247 |
248 std::vector<TranslatedFrame>& frames() { return frames_; } | 248 std::vector<TranslatedFrame>& frames() { return frames_; } |
249 | 249 |
250 TranslatedFrame* GetArgumentsInfoFromJSFrameIndex(int jsframe_index, | 250 TranslatedFrame* GetArgumentsInfoFromJSFrameIndex(int jsframe_index, |
251 int* arguments_count); | 251 int* arguments_count); |
252 | 252 |
253 Isolate* isolate() { return isolate_; } | 253 Isolate* isolate() { return isolate_; } |
254 | 254 |
255 void Init(Address input_frame_pointer, JSFunction* input_frame_function, | 255 void Init(Address input_frame_pointer, TranslationIterator* iterator, |
256 TranslationIterator* iterator, FixedArray* literal_array, | 256 FixedArray* literal_array, RegisterValues* registers, |
257 RegisterValues* registers, FILE* trace_file); | 257 FILE* trace_file); |
258 | 258 |
259 private: | 259 private: |
260 friend TranslatedValue; | 260 friend TranslatedValue; |
261 | 261 |
262 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator, | 262 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator, |
263 FixedArray* literal_array, | 263 FixedArray* literal_array, |
264 Address fp, | 264 Address fp, |
265 JSFunction* frame_function, | |
266 FILE* trace_file); | 265 FILE* trace_file); |
267 TranslatedValue CreateNextTranslatedValue(int frame_index, int value_index, | 266 TranslatedValue CreateNextTranslatedValue(int frame_index, int value_index, |
268 TranslationIterator* iterator, | 267 TranslationIterator* iterator, |
269 FixedArray* literal_array, | 268 FixedArray* literal_array, |
270 Address fp, | 269 Address fp, |
271 RegisterValues* registers, | 270 RegisterValues* registers, |
272 FILE* trace_file); | 271 FILE* trace_file); |
273 | 272 |
274 void UpdateFromPreviouslyMaterializedObjects(); | 273 void UpdateFromPreviouslyMaterializedObjects(); |
275 Handle<Object> MaterializeAt(int frame_index, int* value_index); | 274 Handle<Object> MaterializeAt(int frame_index, int* value_index); |
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1130 Object** expression_stack_; | 1129 Object** expression_stack_; |
1131 int source_position_; | 1130 int source_position_; |
1132 | 1131 |
1133 friend class Deoptimizer; | 1132 friend class Deoptimizer; |
1134 }; | 1133 }; |
1135 | 1134 |
1136 } // namespace internal | 1135 } // namespace internal |
1137 } // namespace v8 | 1136 } // namespace v8 |
1138 | 1137 |
1139 #endif // V8_DEOPTIMIZER_H_ | 1138 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |