Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Side by Side Diff: src/deoptimizer.h

Issue 1416543006: [turbofan] Unwind and jump to the catch handler in the deoptimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase, review comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/node-properties.cc ('k') | src/deoptimizer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 579 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 BailoutType type, 590 BailoutType type,
591 unsigned bailout_id, 591 unsigned bailout_id,
592 Address from, 592 Address from,
593 int fp_to_sp_delta, 593 int fp_to_sp_delta,
594 Code* optimized_code); 594 Code* optimized_code);
595 Code* FindOptimizedCode(JSFunction* function, Code* optimized_code); 595 Code* FindOptimizedCode(JSFunction* function, Code* optimized_code);
596 void PrintFunctionName(); 596 void PrintFunctionName();
597 void DeleteFrameDescriptions(); 597 void DeleteFrameDescriptions();
598 598
599 void DoComputeOutputFrames(); 599 void DoComputeOutputFrames();
600 void DoComputeJSFrame(int frame_index); 600 void DoComputeJSFrame(int frame_index, bool goto_catch_handler);
601 void DoComputeInterpretedFrame(int frame_index); 601 void DoComputeInterpretedFrame(int frame_index, bool goto_catch_handler);
602 void DoComputeArgumentsAdaptorFrame(int frame_index); 602 void DoComputeArgumentsAdaptorFrame(int frame_index);
603 void DoComputeConstructStubFrame(int frame_index); 603 void DoComputeConstructStubFrame(int frame_index);
604 void DoComputeAccessorStubFrame(int frame_index, bool is_setter_stub_frame); 604 void DoComputeAccessorStubFrame(int frame_index, bool is_setter_stub_frame);
605 void DoComputeCompiledStubFrame(int frame_index); 605 void DoComputeCompiledStubFrame(int frame_index);
606 606
607 void WriteTranslatedValueToOutput( 607 void WriteTranslatedValueToOutput(
608 TranslatedFrame::iterator* iterator, int* input_index, int frame_index, 608 TranslatedFrame::iterator* iterator, int* input_index, int frame_index,
609 unsigned output_offset, const char* debug_hint_string = nullptr, 609 unsigned output_offset, const char* debug_hint_string = nullptr,
610 Address output_address_for_materialization = nullptr); 610 Address output_address_for_materialization = nullptr);
611 void WriteValueToOutput(Object* value, int input_index, int frame_index, 611 void WriteValueToOutput(Object* value, int input_index, int frame_index,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 bool HasAlignmentPadding(SharedFunctionInfo* shared); 664 bool HasAlignmentPadding(SharedFunctionInfo* shared);
665 665
666 Isolate* isolate_; 666 Isolate* isolate_;
667 JSFunction* function_; 667 JSFunction* function_;
668 Code* compiled_code_; 668 Code* compiled_code_;
669 unsigned bailout_id_; 669 unsigned bailout_id_;
670 BailoutType bailout_type_; 670 BailoutType bailout_type_;
671 Address from_; 671 Address from_;
672 int fp_to_sp_delta_; 672 int fp_to_sp_delta_;
673 int has_alignment_padding_; 673 int has_alignment_padding_;
674 bool deoptimizing_throw_;
675 int catch_handler_data_;
676 int catch_handler_pc_offset_;
674 677
675 // Input frame description. 678 // Input frame description.
676 FrameDescription* input_; 679 FrameDescription* input_;
677 // Number of output frames. 680 // Number of output frames.
678 int output_count_; 681 int output_count_;
679 // Number of output js frames. 682 // Number of output js frames.
680 int jsframe_count_; 683 int jsframe_count_;
681 // Array of output frame descriptions. 684 // Array of output frame descriptions.
682 FrameDescription** output_; 685 FrameDescription** output_;
683 686
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 std::vector<Handle<Object> > expression_stack_; 1130 std::vector<Handle<Object> > expression_stack_;
1128 int source_position_; 1131 int source_position_;
1129 1132
1130 friend class Deoptimizer; 1133 friend class Deoptimizer;
1131 }; 1134 };
1132 1135
1133 } // namespace internal 1136 } // namespace internal
1134 } // namespace v8 1137 } // namespace v8
1135 1138
1136 #endif // V8_DEOPTIMIZER_H_ 1139 #endif // V8_DEOPTIMIZER_H_
OLDNEW
« no previous file with comments | « src/compiler/node-properties.cc ('k') | src/deoptimizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698