| 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 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 void EmitCallJSRuntimeFunction(CallRuntime* expr); | 449 void EmitCallJSRuntimeFunction(CallRuntime* expr); |
| 450 | 450 |
| 451 // Load a value from a named property. | 451 // Load a value from a named property. |
| 452 // The receiver is left on the stack by the IC. | 452 // The receiver is left on the stack by the IC. |
| 453 void EmitNamedPropertyLoad(Property* expr); | 453 void EmitNamedPropertyLoad(Property* expr); |
| 454 | 454 |
| 455 // Load a value from a keyed property. | 455 // Load a value from a keyed property. |
| 456 // The receiver and the key is left on the stack by the IC. | 456 // The receiver and the key is left on the stack by the IC. |
| 457 void EmitKeyedPropertyLoad(Property* expr); | 457 void EmitKeyedPropertyLoad(Property* expr); |
| 458 | 458 |
| 459 // Pushes the property key as a Name on the stack. | |
| 460 void EmitPropertyKey(LiteralProperty* property, BailoutId bailout_id); | |
| 461 | |
| 462 // Apply the compound assignment operator. Expects the left operand on top | 459 // Apply the compound assignment operator. Expects the left operand on top |
| 463 // of the stack and the right one in the accumulator. | 460 // of the stack and the right one in the accumulator. |
| 464 void EmitBinaryOp(BinaryOperation* expr, Token::Value op); | 461 void EmitBinaryOp(BinaryOperation* expr, Token::Value op); |
| 465 | 462 |
| 466 // Helper functions for generating inlined smi code for certain | 463 // Helper functions for generating inlined smi code for certain |
| 467 // binary operations. | 464 // binary operations. |
| 468 void EmitInlineSmiBinaryOp(BinaryOperation* expr, | 465 void EmitInlineSmiBinaryOp(BinaryOperation* expr, |
| 469 Token::Value op, | 466 Token::Value op, |
| 470 Expression* left, | 467 Expression* left, |
| 471 Expression* right); | 468 Expression* right); |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 Address start_; | 894 Address start_; |
| 898 Address instruction_start_; | 895 Address instruction_start_; |
| 899 uint32_t length_; | 896 uint32_t length_; |
| 900 }; | 897 }; |
| 901 | 898 |
| 902 | 899 |
| 903 } // namespace internal | 900 } // namespace internal |
| 904 } // namespace v8 | 901 } // namespace v8 |
| 905 | 902 |
| 906 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 903 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
| OLD | NEW |