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 |