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

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

Issue 1670133002: [es6] Further fixing of tail Calls. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Tail call tracing added 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
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 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 void EmitProfilingCounterReset(); 498 void EmitProfilingCounterReset();
499 499
500 // Emit code to pop values from the stack associated with nested statements 500 // Emit code to pop values from the stack associated with nested statements
501 // like try/catch, try/finally, etc, running the finallies and unwinding the 501 // like try/catch, try/finally, etc, running the finallies and unwinding the
502 // handlers as needed. Also emits the return sequence if necessary (i.e., 502 // handlers as needed. Also emits the return sequence if necessary (i.e.,
503 // if the return is not delayed by a finally block). 503 // if the return is not delayed by a finally block).
504 void EmitUnwindAndReturn(); 504 void EmitUnwindAndReturn();
505 505
506 // Platform-specific return sequence 506 // Platform-specific return sequence
507 void EmitReturnSequence(); 507 void EmitReturnSequence();
508 void EmitProfilingCounterHandlingForReturnSequence(bool is_tail_call);
508 509
509 // Platform-specific code sequences for calls 510 // Platform-specific code sequences for calls
510 void EmitCall(Call* expr, ConvertReceiverMode = ConvertReceiverMode::kAny); 511 void EmitCall(Call* expr, ConvertReceiverMode = ConvertReceiverMode::kAny);
511 void EmitSuperConstructorCall(Call* expr); 512 void EmitSuperConstructorCall(Call* expr);
512 void EmitCallWithLoadIC(Call* expr); 513 void EmitCallWithLoadIC(Call* expr);
513 void EmitSuperCallWithLoadIC(Call* expr); 514 void EmitSuperCallWithLoadIC(Call* expr);
514 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); 515 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key);
515 void EmitKeyedSuperCallWithLoadIC(Call* expr); 516 void EmitKeyedSuperCallWithLoadIC(Call* expr);
516 void EmitPossiblyEvalCall(Call* expr); 517 void EmitPossiblyEvalCall(Call* expr);
517 518
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 Address start_; 1092 Address start_;
1092 Address instruction_start_; 1093 Address instruction_start_;
1093 uint32_t length_; 1094 uint32_t length_;
1094 }; 1095 };
1095 1096
1096 1097
1097 } // namespace internal 1098 } // namespace internal
1098 } // namespace v8 1099 } // namespace v8
1099 1100
1100 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1101 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/full-codegen/arm64/full-codegen-arm64.cc ('k') | src/full-codegen/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698