Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: src/full-codegen.h

Issue 680993003: Classes: Add basic support for properties (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: git rebase Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ast.h ('k') | src/full-codegen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 void EmitNamedSuperPropertyLoad(Property* expr); 556 void EmitNamedSuperPropertyLoad(Property* expr);
557 557
558 // Load a value from super[keyed] property. 558 // Load a value from super[keyed] property.
559 // Expect receiver ('this' value), home_object and key on the stack. 559 // Expect receiver ('this' value), home_object and key on the stack.
560 void EmitKeyedSuperPropertyLoad(Property* expr); 560 void EmitKeyedSuperPropertyLoad(Property* expr);
561 561
562 // Load a value from a keyed property. 562 // Load a value from a keyed property.
563 // The receiver and the key is left on the stack by the IC. 563 // The receiver and the key is left on the stack by the IC.
564 void EmitKeyedPropertyLoad(Property* expr); 564 void EmitKeyedPropertyLoad(Property* expr);
565 565
566 // Adds the properties to the class (function) object and to its prototype.
567 // Expects the class (function) in the accumulator. The class (function) is
568 // in the accumulator after installing all the properties.
569 void EmitClassDefineProperties(ClassLiteral* lit);
570
566 // Apply the compound assignment operator. Expects the left operand on top 571 // Apply the compound assignment operator. Expects the left operand on top
567 // of the stack and the right one in the accumulator. 572 // of the stack and the right one in the accumulator.
568 void EmitBinaryOp(BinaryOperation* expr, 573 void EmitBinaryOp(BinaryOperation* expr,
569 Token::Value op, 574 Token::Value op,
570 OverwriteMode mode); 575 OverwriteMode mode);
571 576
572 // Helper functions for generating inlined smi code for certain 577 // Helper functions for generating inlined smi code for certain
573 // binary operations. 578 // binary operations.
574 void EmitInlineSmiBinaryOp(BinaryOperation* expr, 579 void EmitInlineSmiBinaryOp(BinaryOperation* expr,
575 Token::Value op, 580 Token::Value op,
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 998
994 Address start_; 999 Address start_;
995 Address instruction_start_; 1000 Address instruction_start_;
996 uint32_t length_; 1001 uint32_t length_;
997 }; 1002 };
998 1003
999 1004
1000 } } // namespace v8::internal 1005 } } // namespace v8::internal
1001 1006
1002 #endif // V8_FULL_CODEGEN_H_ 1007 #endif // V8_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/ast.h ('k') | src/full-codegen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698