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

Side by Side Diff: src/hydrogen-instructions.h

Issue 477263002: ES6: Add support for method shorthand in object literals (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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_HYDROGEN_INSTRUCTIONS_H_ 5 #ifndef V8_HYDROGEN_INSTRUCTIONS_H_
6 #define V8_HYDROGEN_INSTRUCTIONS_H_ 6 #define V8_HYDROGEN_INSTRUCTIONS_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 7432 matching lines...) Expand 10 before | Expand all | Expand 10 after
7443 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { 7443 virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
7444 return Representation::Tagged(); 7444 return Representation::Tagged();
7445 } 7445 }
7446 7446
7447 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral) 7447 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral)
7448 7448
7449 Handle<SharedFunctionInfo> shared_info() const { return shared_info_; } 7449 Handle<SharedFunctionInfo> shared_info() const { return shared_info_; }
7450 bool pretenure() const { return pretenure_; } 7450 bool pretenure() const { return pretenure_; }
7451 bool has_no_literals() const { return has_no_literals_; } 7451 bool has_no_literals() const { return has_no_literals_; }
7452 bool is_generator() const { return is_generator_; } 7452 bool is_generator() const { return is_generator_; }
7453 bool is_concise_method() const { return is_concise_method_; }
7453 StrictMode strict_mode() const { return strict_mode_; } 7454 StrictMode strict_mode() const { return strict_mode_; }
7454 7455
7455 private: 7456 private:
7456 HFunctionLiteral(HValue* context, 7457 HFunctionLiteral(HValue* context, Handle<SharedFunctionInfo> shared,
7457 Handle<SharedFunctionInfo> shared,
7458 bool pretenure) 7458 bool pretenure)
7459 : HTemplateInstruction<1>(HType::JSObject()), 7459 : HTemplateInstruction<1>(HType::JSObject()),
7460 shared_info_(shared), 7460 shared_info_(shared),
7461 pretenure_(pretenure), 7461 pretenure_(pretenure),
7462 has_no_literals_(shared->num_literals() == 0), 7462 has_no_literals_(shared->num_literals() == 0),
7463 is_generator_(shared->is_generator()), 7463 is_generator_(shared->is_generator()),
7464 is_concise_method_(shared->is_concise_method()),
7464 strict_mode_(shared->strict_mode()) { 7465 strict_mode_(shared->strict_mode()) {
7465 SetOperandAt(0, context); 7466 SetOperandAt(0, context);
7466 set_representation(Representation::Tagged()); 7467 set_representation(Representation::Tagged());
7467 SetChangesFlag(kNewSpacePromotion); 7468 SetChangesFlag(kNewSpacePromotion);
7468 } 7469 }
7469 7470
7470 virtual bool IsDeletable() const V8_OVERRIDE { return true; } 7471 virtual bool IsDeletable() const V8_OVERRIDE { return true; }
7471 7472
7472 Handle<SharedFunctionInfo> shared_info_; 7473 Handle<SharedFunctionInfo> shared_info_;
7473 bool pretenure_ : 1; 7474 bool pretenure_ : 1;
7474 bool has_no_literals_ : 1; 7475 bool has_no_literals_ : 1;
7475 bool is_generator_ : 1; 7476 bool is_generator_ : 1;
7477 bool is_concise_method_ : 1;
7476 StrictMode strict_mode_; 7478 StrictMode strict_mode_;
7477 }; 7479 };
7478 7480
7479 7481
7480 class HTypeof V8_FINAL : public HTemplateInstruction<2> { 7482 class HTypeof V8_FINAL : public HTemplateInstruction<2> {
7481 public: 7483 public:
7482 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HTypeof, HValue*); 7484 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P1(HTypeof, HValue*);
7483 7485
7484 HValue* context() const { return OperandAt(0); } 7486 HValue* context() const { return OperandAt(0); }
7485 HValue* value() const { return OperandAt(1); } 7487 HValue* value() const { return OperandAt(1); }
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
7860 }; 7862 };
7861 7863
7862 7864
7863 7865
7864 #undef DECLARE_INSTRUCTION 7866 #undef DECLARE_INSTRUCTION
7865 #undef DECLARE_CONCRETE_INSTRUCTION 7867 #undef DECLARE_CONCRETE_INSTRUCTION
7866 7868
7867 } } // namespace v8::internal 7869 } } // namespace v8::internal
7868 7870
7869 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 7871 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« src/ast.h ('K') | « src/full-codegen.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698