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

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

Issue 2302643002: Split the AST representation of class properties from object properties (Closed)
Patch Set: remove spurious classliteralproperty typedef Created 4 years, 3 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
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_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 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 // Load a value from a keyed property. 548 // Load a value from a keyed property.
549 // The receiver and the key is left on the stack by the IC. 549 // The receiver and the key is left on the stack by the IC.
550 void EmitKeyedPropertyLoad(Property* expr); 550 void EmitKeyedPropertyLoad(Property* expr);
551 551
552 // Adds the properties to the class (function) object and to its prototype. 552 // Adds the properties to the class (function) object and to its prototype.
553 // Expects the class (function) in the accumulator. The class (function) is 553 // Expects the class (function) in the accumulator. The class (function) is
554 // in the accumulator after installing all the properties. 554 // in the accumulator after installing all the properties.
555 void EmitClassDefineProperties(ClassLiteral* lit); 555 void EmitClassDefineProperties(ClassLiteral* lit);
556 556
557 // Pushes the property key as a Name on the stack. 557 // Pushes the property key as a Name on the stack.
558 void EmitPropertyKey(ObjectLiteralProperty* property, BailoutId bailout_id); 558 void EmitPropertyKey(LiteralProperty* property, BailoutId bailout_id);
559 559
560 // Apply the compound assignment operator. Expects the left operand on top 560 // Apply the compound assignment operator. Expects the left operand on top
561 // of the stack and the right one in the accumulator. 561 // of the stack and the right one in the accumulator.
562 void EmitBinaryOp(BinaryOperation* expr, Token::Value op); 562 void EmitBinaryOp(BinaryOperation* expr, Token::Value op);
563 563
564 // Helper functions for generating inlined smi code for certain 564 // Helper functions for generating inlined smi code for certain
565 // binary operations. 565 // binary operations.
566 void EmitInlineSmiBinaryOp(BinaryOperation* expr, 566 void EmitInlineSmiBinaryOp(BinaryOperation* expr,
567 Token::Value op, 567 Token::Value op,
568 Expression* left, 568 Expression* left,
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 Address start_; 1021 Address start_;
1022 Address instruction_start_; 1022 Address instruction_start_;
1023 uint32_t length_; 1023 uint32_t length_;
1024 }; 1024 };
1025 1025
1026 1026
1027 } // namespace internal 1027 } // namespace internal
1028 } // namespace v8 1028 } // namespace v8
1029 1029
1030 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1030 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698