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

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

Issue 639123009: Classes: Add basic support for properties (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 months 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
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 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 void EmitNamedSuperPropertyLoad(Property* expr); 548 void EmitNamedSuperPropertyLoad(Property* expr);
549 549
550 // Load a value from super[keyed] property. 550 // Load a value from super[keyed] property.
551 // Expect receiver ('this' value), home_object and key on the stack. 551 // Expect receiver ('this' value), home_object and key on the stack.
552 void EmitKeyedSuperPropertyLoad(Property* expr); 552 void EmitKeyedSuperPropertyLoad(Property* expr);
553 553
554 // Load a value from a keyed property. 554 // Load a value from a keyed property.
555 // The receiver and the key is left on the stack by the IC. 555 // The receiver and the key is left on the stack by the IC.
556 void EmitKeyedPropertyLoad(Property* expr); 556 void EmitKeyedPropertyLoad(Property* expr);
557 557
558 // Adds the properties to the class (function) object and to its prototype.
559 // Expects the class (function) in the accumulator.
560 void EmitClassDefineProperties(ClassLiteral* lit);
561
558 // Apply the compound assignment operator. Expects the left operand on top 562 // Apply the compound assignment operator. Expects the left operand on top
559 // of the stack and the right one in the accumulator. 563 // of the stack and the right one in the accumulator.
560 void EmitBinaryOp(BinaryOperation* expr, 564 void EmitBinaryOp(BinaryOperation* expr,
561 Token::Value op, 565 Token::Value op,
562 OverwriteMode mode); 566 OverwriteMode mode);
563 567
564 // Helper functions for generating inlined smi code for certain 568 // Helper functions for generating inlined smi code for certain
565 // binary operations. 569 // binary operations.
566 void EmitInlineSmiBinaryOp(BinaryOperation* expr, 570 void EmitInlineSmiBinaryOp(BinaryOperation* expr,
567 Token::Value op, 571 Token::Value op,
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 987
984 Address start_; 988 Address start_;
985 Address instruction_start_; 989 Address instruction_start_;
986 uint32_t length_; 990 uint32_t length_;
987 }; 991 };
988 992
989 993
990 } } // namespace v8::internal 994 } } // namespace v8::internal
991 995
992 #endif // V8_FULL_CODEGEN_H_ 996 #endif // V8_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/ast.h ('k') | src/full-codegen.cc » ('j') | src/full-codegen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698