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_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
729 void StoreToFrameField(int frame_offset, Register value); | 729 void StoreToFrameField(int frame_offset, Register value); |
730 | 730 |
731 // Load a value from the current context. Indices are defined as an enum | 731 // Load a value from the current context. Indices are defined as an enum |
732 // in v8::internal::Context. | 732 // in v8::internal::Context. |
733 void LoadContextField(Register dst, int context_index); | 733 void LoadContextField(Register dst, int context_index); |
734 | 734 |
735 // Push the function argument for the runtime functions PushWithContext | 735 // Push the function argument for the runtime functions PushWithContext |
736 // and PushCatchContext. | 736 // and PushCatchContext. |
737 void PushFunctionArgumentForContextAllocation(); | 737 void PushFunctionArgumentForContextAllocation(); |
738 | 738 |
| 739 void PushCalleeAndWithBaseObject(Call* expr); |
| 740 |
739 // AST node visit functions. | 741 // AST node visit functions. |
740 #define DECLARE_VISIT(type) virtual void Visit##type(type* node) override; | 742 #define DECLARE_VISIT(type) virtual void Visit##type(type* node) override; |
741 AST_NODE_LIST(DECLARE_VISIT) | 743 AST_NODE_LIST(DECLARE_VISIT) |
742 #undef DECLARE_VISIT | 744 #undef DECLARE_VISIT |
743 | 745 |
744 void VisitComma(BinaryOperation* expr); | 746 void VisitComma(BinaryOperation* expr); |
745 void VisitLogicalExpression(BinaryOperation* expr); | 747 void VisitLogicalExpression(BinaryOperation* expr); |
746 void VisitArithmeticExpression(BinaryOperation* expr); | 748 void VisitArithmeticExpression(BinaryOperation* expr); |
747 | 749 |
748 void VisitForTypeofValue(Expression* expr); | 750 void VisitForTypeofValue(Expression* expr); |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1096 | 1098 |
1097 Address start_; | 1099 Address start_; |
1098 Address instruction_start_; | 1100 Address instruction_start_; |
1099 uint32_t length_; | 1101 uint32_t length_; |
1100 }; | 1102 }; |
1101 | 1103 |
1102 | 1104 |
1103 } } // namespace v8::internal | 1105 } } // namespace v8::internal |
1104 | 1106 |
1105 #endif // V8_FULL_CODEGEN_H_ | 1107 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |