| 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/deoptimize-reason.h" | 9 #include "src/deoptimize-reason.h" |
| 10 #include "src/macro-assembler.h" | 10 #include "src/macro-assembler.h" |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 static void EnsureCodeForDeoptimizationEntry(Isolate* isolate, | 507 static void EnsureCodeForDeoptimizationEntry(Isolate* isolate, |
| 508 BailoutType type, | 508 BailoutType type, |
| 509 int max_entry_id); | 509 int max_entry_id); |
| 510 | 510 |
| 511 Isolate* isolate() const { return isolate_; } | 511 Isolate* isolate() const { return isolate_; } |
| 512 | 512 |
| 513 private: | 513 private: |
| 514 static const int kMinNumberOfEntries = 64; | 514 static const int kMinNumberOfEntries = 64; |
| 515 static const int kMaxNumberOfEntries = 16384; | 515 static const int kMaxNumberOfEntries = 16384; |
| 516 | 516 |
| 517 Deoptimizer(Isolate* isolate, | 517 Deoptimizer(Isolate* isolate, JSFunction* function, BailoutType type, |
| 518 JSFunction* function, | 518 unsigned bailout_id, Address from, int fp_to_sp_delta); |
| 519 BailoutType type, | 519 Code* FindOptimizedCode(JSFunction* function); |
| 520 unsigned bailout_id, | |
| 521 Address from, | |
| 522 int fp_to_sp_delta, | |
| 523 Code* optimized_code); | |
| 524 Code* FindOptimizedCode(JSFunction* function, Code* optimized_code); | |
| 525 void PrintFunctionName(); | 520 void PrintFunctionName(); |
| 526 void DeleteFrameDescriptions(); | 521 void DeleteFrameDescriptions(); |
| 527 | 522 |
| 528 void DoComputeOutputFrames(); | 523 void DoComputeOutputFrames(); |
| 529 void DoComputeJSFrame(TranslatedFrame* translated_frame, int frame_index, | 524 void DoComputeJSFrame(TranslatedFrame* translated_frame, int frame_index, |
| 530 bool goto_catch_handler); | 525 bool goto_catch_handler); |
| 531 void DoComputeInterpretedFrame(TranslatedFrame* translated_frame, | 526 void DoComputeInterpretedFrame(TranslatedFrame* translated_frame, |
| 532 int frame_index, bool goto_catch_handler); | 527 int frame_index, bool goto_catch_handler); |
| 533 void DoComputeArgumentsAdaptorFrame(TranslatedFrame* translated_frame, | 528 void DoComputeArgumentsAdaptorFrame(TranslatedFrame* translated_frame, |
| 534 int frame_index); | 529 int frame_index); |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1068 std::vector<Handle<Object> > expression_stack_; | 1063 std::vector<Handle<Object> > expression_stack_; |
| 1069 int source_position_; | 1064 int source_position_; |
| 1070 | 1065 |
| 1071 friend class Deoptimizer; | 1066 friend class Deoptimizer; |
| 1072 }; | 1067 }; |
| 1073 | 1068 |
| 1074 } // namespace internal | 1069 } // namespace internal |
| 1075 } // namespace v8 | 1070 } // namespace v8 |
| 1076 | 1071 |
| 1077 #endif // V8_DEOPTIMIZER_H_ | 1072 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |