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_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 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 // handlers as needed. Also emits the return sequence if necessary (i.e., | 455 // handlers as needed. Also emits the return sequence if necessary (i.e., |
456 // if the return is not delayed by a finally block). | 456 // if the return is not delayed by a finally block). |
457 void EmitUnwindAndReturn(); | 457 void EmitUnwindAndReturn(); |
458 | 458 |
459 // Platform-specific return sequence | 459 // Platform-specific return sequence |
460 void EmitReturnSequence(); | 460 void EmitReturnSequence(); |
461 void EmitProfilingCounterHandlingForReturnSequence(bool is_tail_call); | 461 void EmitProfilingCounterHandlingForReturnSequence(bool is_tail_call); |
462 | 462 |
463 // Platform-specific code sequences for calls | 463 // Platform-specific code sequences for calls |
464 void EmitCall(Call* expr, ConvertReceiverMode = ConvertReceiverMode::kAny); | 464 void EmitCall(Call* expr, ConvertReceiverMode = ConvertReceiverMode::kAny); |
465 void EmitSuperConstructorCall(Call* expr); | |
466 void EmitCallWithLoadIC(Call* expr); | 465 void EmitCallWithLoadIC(Call* expr); |
467 void EmitSuperCallWithLoadIC(Call* expr); | 466 void EmitSuperCallWithLoadIC(Call* expr); |
468 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); | 467 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); |
469 void EmitKeyedSuperCallWithLoadIC(Call* expr); | 468 void EmitKeyedSuperCallWithLoadIC(Call* expr); |
470 void EmitPossiblyEvalCall(Call* expr); | 469 void EmitPossiblyEvalCall(Call* expr); |
471 | 470 |
472 #define FOR_EACH_FULL_CODE_INTRINSIC(F) \ | 471 #define FOR_EACH_FULL_CODE_INTRINSIC(F) \ |
473 F(IsSmi) \ | 472 F(IsSmi) \ |
474 F(IsArray) \ | 473 F(IsArray) \ |
475 F(IsTypedArray) \ | 474 F(IsTypedArray) \ |
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 Address start_; | 1017 Address start_; |
1019 Address instruction_start_; | 1018 Address instruction_start_; |
1020 uint32_t length_; | 1019 uint32_t length_; |
1021 }; | 1020 }; |
1022 | 1021 |
1023 | 1022 |
1024 } // namespace internal | 1023 } // namespace internal |
1025 } // namespace v8 | 1024 } // namespace v8 |
1026 | 1025 |
1027 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 1026 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
OLD | NEW |