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

Side by Side Diff: src/full-codegen/full-codegen.h

Issue 2161263003: [debug] use catch prediction flag for promise rejections. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 5 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
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_FULL_CODEGEN_FULL_CODEGEN_H_ 5 #ifndef V8_FULL_CODEGEN_FULL_CODEGEN_H_
6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ 6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assert-scope.h" 9 #include "src/assert-scope.h"
10 #include "src/ast/ast.h" 10 #include "src/ast/ast.h"
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 679
680 void SetConstructCallPosition(Expression* expr) { 680 void SetConstructCallPosition(Expression* expr) {
681 // Currently call and construct calls are treated the same wrt debugging. 681 // Currently call and construct calls are treated the same wrt debugging.
682 SetCallPosition(expr); 682 SetCallPosition(expr);
683 } 683 }
684 684
685 void RecordStatementPosition(int pos); 685 void RecordStatementPosition(int pos);
686 void RecordPosition(int pos); 686 void RecordPosition(int pos);
687 687
688 // Non-local control flow support. 688 // Non-local control flow support.
689 void EnterTryBlock(int handler_index, Label* handler, bool catch_predicted); 689 void EnterTryBlock(int handler_index, Label* handler,
690 HandlerTable::CatchPrediction catch_prediction);
690 void ExitTryBlock(int handler_index); 691 void ExitTryBlock(int handler_index);
691 void EnterFinallyBlock(); 692 void EnterFinallyBlock();
692 void ExitFinallyBlock(); 693 void ExitFinallyBlock();
693 void ClearPendingMessage(); 694 void ClearPendingMessage();
694 695
695 void EmitContinue(Statement* target); 696 void EmitContinue(Statement* target);
696 void EmitBreak(Statement* target); 697 void EmitBreak(Statement* target);
697 698
698 // Loop nesting counter. 699 // Loop nesting counter.
699 int loop_depth() { return loop_depth_; } 700 int loop_depth() { return loop_depth_; }
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 BailoutId id; 767 BailoutId id;
767 unsigned pc; 768 unsigned pc;
768 uint32_t loop_depth; 769 uint32_t loop_depth;
769 }; 770 };
770 771
771 struct HandlerTableEntry { 772 struct HandlerTableEntry {
772 unsigned range_start; 773 unsigned range_start;
773 unsigned range_end; 774 unsigned range_end;
774 unsigned handler_offset; 775 unsigned handler_offset;
775 int stack_depth; 776 int stack_depth;
776 bool catch_predicted; 777 HandlerTable::CatchPrediction catch_prediction;
777 }; 778 };
778 779
779 class ExpressionContext BASE_EMBEDDED { 780 class ExpressionContext BASE_EMBEDDED {
780 public: 781 public:
781 explicit ExpressionContext(FullCodeGenerator* codegen) 782 explicit ExpressionContext(FullCodeGenerator* codegen)
782 : masm_(codegen->masm()), old_(codegen->context()), codegen_(codegen) { 783 : masm_(codegen->masm()), old_(codegen->context()), codegen_(codegen) {
783 codegen->set_new_context(this); 784 codegen->set_new_context(this);
784 } 785 }
785 786
786 virtual ~ExpressionContext() { 787 virtual ~ExpressionContext() {
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 Address start_; 1055 Address start_;
1055 Address instruction_start_; 1056 Address instruction_start_;
1056 uint32_t length_; 1057 uint32_t length_;
1057 }; 1058 };
1058 1059
1059 1060
1060 } // namespace internal 1061 } // namespace internal
1061 } // namespace v8 1062 } // namespace v8
1062 1063
1063 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1064 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698