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 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
514 // Platform-specific support for allocating a new closure based on | 514 // Platform-specific support for allocating a new closure based on |
515 // the given function info. | 515 // the given function info. |
516 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure); | 516 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure); |
517 | 517 |
518 // Platform-specific support for compiling assignments. | 518 // Platform-specific support for compiling assignments. |
519 | 519 |
520 // Load a value from a named property. | 520 // Load a value from a named property. |
521 // The receiver is left on the stack by the IC. | 521 // The receiver is left on the stack by the IC. |
522 void EmitNamedPropertyLoad(Property* expr); | 522 void EmitNamedPropertyLoad(Property* expr); |
523 | 523 |
524 // Load a value from super.named prroperty. | |
arv (Not doing code reviews)
2014/09/29 14:37:27
typo
| |
525 // Expect receiver ('this' value) and home_object on the stack. | |
524 void EmitNamedSuperPropertyLoad(Property* expr); | 526 void EmitNamedSuperPropertyLoad(Property* expr); |
525 | 527 |
526 // Load a value from a keyed property. | 528 // Load a value from a keyed property. |
527 // The receiver and the key is left on the stack by the IC. | 529 // The receiver and the key is left on the stack by the IC. |
528 void EmitKeyedPropertyLoad(Property* expr); | 530 void EmitKeyedPropertyLoad(Property* expr); |
529 | 531 |
530 // Apply the compound assignment operator. Expects the left operand on top | 532 // Apply the compound assignment operator. Expects the left operand on top |
531 // of the stack and the right one in the accumulator. | 533 // of the stack and the right one in the accumulator. |
532 void EmitBinaryOp(BinaryOperation* expr, | 534 void EmitBinaryOp(BinaryOperation* expr, |
533 Token::Value op, | 535 Token::Value op, |
(...skipping 17 matching lines...) Expand all Loading... | |
551 Token::Value op); | 553 Token::Value op); |
552 | 554 |
553 // Helper functions to EmitVariableAssignment | 555 // Helper functions to EmitVariableAssignment |
554 void EmitStoreToStackLocalOrContextSlot(Variable* var, | 556 void EmitStoreToStackLocalOrContextSlot(Variable* var, |
555 MemOperand location); | 557 MemOperand location); |
556 | 558 |
557 // Complete a named property assignment. The receiver is expected on top | 559 // Complete a named property assignment. The receiver is expected on top |
558 // of the stack and the right-hand-side value in the accumulator. | 560 // of the stack and the right-hand-side value in the accumulator. |
559 void EmitNamedPropertyAssignment(Assignment* expr); | 561 void EmitNamedPropertyAssignment(Assignment* expr); |
560 | 562 |
563 // Complete a super named property assignment. The right-hand-side value | |
564 // is expected in accumulator. | |
565 void EmitNamedSuperPropertyAssignment(Assignment* expr); | |
566 | |
561 // Complete a keyed property assignment. The receiver and key are | 567 // Complete a keyed property assignment. The receiver and key are |
562 // expected on top of the stack and the right-hand-side value in the | 568 // expected on top of the stack and the right-hand-side value in the |
563 // accumulator. | 569 // accumulator. |
564 void EmitKeyedPropertyAssignment(Assignment* expr); | 570 void EmitKeyedPropertyAssignment(Assignment* expr); |
565 | 571 |
566 void EmitLoadHomeObject(SuperReference* expr); | 572 void EmitLoadHomeObject(SuperReference* expr); |
567 | 573 |
568 void CallIC(Handle<Code> code, | 574 void CallIC(Handle<Code> code, |
569 TypeFeedbackId id = TypeFeedbackId::None()); | 575 TypeFeedbackId id = TypeFeedbackId::None()); |
570 | 576 |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
947 | 953 |
948 Address start_; | 954 Address start_; |
949 Address instruction_start_; | 955 Address instruction_start_; |
950 uint32_t length_; | 956 uint32_t length_; |
951 }; | 957 }; |
952 | 958 |
953 | 959 |
954 } } // namespace v8::internal | 960 } } // namespace v8::internal |
955 | 961 |
956 #endif // V8_FULL_CODEGEN_H_ | 962 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |