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

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

Issue 8344082: Replace boolean indications of strict mode by an enum value. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Some fixes and adapted the preparser. Created 9 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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 3702 matching lines...) Expand 10 before | Expand all | Expand 10 after
3713 Handle<Map> transition_; 3713 Handle<Map> transition_;
3714 }; 3714 };
3715 3715
3716 3716
3717 class HStoreNamedGeneric: public HTemplateInstruction<3> { 3717 class HStoreNamedGeneric: public HTemplateInstruction<3> {
3718 public: 3718 public:
3719 HStoreNamedGeneric(HValue* context, 3719 HStoreNamedGeneric(HValue* context,
3720 HValue* object, 3720 HValue* object,
3721 Handle<String> name, 3721 Handle<String> name,
3722 HValue* value, 3722 HValue* value,
3723 bool strict_mode) 3723 StrictModeFlag strict_mode_flag)
3724 : name_(name), 3724 : name_(name),
3725 strict_mode_(strict_mode) { 3725 strict_mode_flag_(strict_mode_flag) {
3726 SetOperandAt(0, object); 3726 SetOperandAt(0, object);
3727 SetOperandAt(1, value); 3727 SetOperandAt(1, value);
3728 SetOperandAt(2, context); 3728 SetOperandAt(2, context);
3729 SetAllSideEffects(); 3729 SetAllSideEffects();
3730 } 3730 }
3731 3731
3732 HValue* object() { return OperandAt(0); } 3732 HValue* object() { return OperandAt(0); }
3733 HValue* value() { return OperandAt(1); } 3733 HValue* value() { return OperandAt(1); }
3734 HValue* context() { return OperandAt(2); } 3734 HValue* context() { return OperandAt(2); }
3735 Handle<String> name() { return name_; } 3735 Handle<String> name() { return name_; }
3736 bool strict_mode() { return strict_mode_; } 3736 StrictModeFlag strict_mode_flag() { return strict_mode_flag_; }
3737 3737
3738 virtual void PrintDataTo(StringStream* stream); 3738 virtual void PrintDataTo(StringStream* stream);
3739 3739
3740 virtual Representation RequiredInputRepresentation(int index) { 3740 virtual Representation RequiredInputRepresentation(int index) {
3741 return Representation::Tagged(); 3741 return Representation::Tagged();
3742 } 3742 }
3743 3743
3744 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric) 3744 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric)
3745 3745
3746 private: 3746 private:
3747 Handle<String> name_; 3747 Handle<String> name_;
3748 bool strict_mode_; 3748 StrictModeFlag strict_mode_flag_;
3749 }; 3749 };
3750 3750
3751 3751
3752 class HStoreKeyedFastElement: public HTemplateInstruction<3> { 3752 class HStoreKeyedFastElement: public HTemplateInstruction<3> {
3753 public: 3753 public:
3754 HStoreKeyedFastElement(HValue* obj, HValue* key, HValue* val, 3754 HStoreKeyedFastElement(HValue* obj, HValue* key, HValue* val,
3755 ElementsKind elements_kind = FAST_ELEMENTS) 3755 ElementsKind elements_kind = FAST_ELEMENTS)
3756 : elements_kind_(elements_kind) { 3756 : elements_kind_(elements_kind) {
3757 SetOperandAt(0, obj); 3757 SetOperandAt(0, obj);
3758 SetOperandAt(1, key); 3758 SetOperandAt(1, key);
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
4297 4297
4298 DECLARE_CONCRETE_INSTRUCTION(In) 4298 DECLARE_CONCRETE_INSTRUCTION(In)
4299 }; 4299 };
4300 4300
4301 #undef DECLARE_INSTRUCTION 4301 #undef DECLARE_INSTRUCTION
4302 #undef DECLARE_CONCRETE_INSTRUCTION 4302 #undef DECLARE_CONCRETE_INSTRUCTION
4303 4303
4304 } } // namespace v8::internal 4304 } } // namespace v8::internal
4305 4305
4306 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 4306 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« src/compiler.cc ('K') | « src/hydrogen.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698