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 |