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

Side by Side Diff: src/arm/lithium-arm.h

Issue 6814012: Strict mode fixes. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 8 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
« no previous file with comments | « no previous file | src/arm/lithium-codegen-arm.cc » ('j') | src/arm/lithium-codegen-arm.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 inputs_[0] = global_object; 1302 inputs_[0] = global_object;
1303 inputs_[1] = value; 1303 inputs_[1] = value;
1304 } 1304 }
1305 1305
1306 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") 1306 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic")
1307 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) 1307 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric)
1308 1308
1309 LOperand* global_object() { return InputAt(0); } 1309 LOperand* global_object() { return InputAt(0); }
1310 Handle<Object> name() const { return hydrogen()->name(); } 1310 Handle<Object> name() const { return hydrogen()->name(); }
1311 LOperand* value() { return InputAt(1); } 1311 LOperand* value() { return InputAt(1); }
1312 bool strict_mode() { return hydrogen()->strict_mode(); }
1312 }; 1313 };
1313 1314
1314 1315
1315 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { 1316 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> {
1316 public: 1317 public:
1317 explicit LLoadContextSlot(LOperand* context) { 1318 explicit LLoadContextSlot(LOperand* context) {
1318 inputs_[0] = context; 1319 inputs_[0] = context;
1319 } 1320 }
1320 1321
1321 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1322 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1632 } 1633 }
1633 1634
1634 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") 1635 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic")
1635 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) 1636 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric)
1636 1637
1637 virtual void PrintDataTo(StringStream* stream); 1638 virtual void PrintDataTo(StringStream* stream);
1638 1639
1639 LOperand* object() { return inputs_[0]; } 1640 LOperand* object() { return inputs_[0]; }
1640 LOperand* value() { return inputs_[1]; } 1641 LOperand* value() { return inputs_[1]; }
1641 Handle<Object> name() const { return hydrogen()->name(); } 1642 Handle<Object> name() const { return hydrogen()->name(); }
1643 bool strict_mode() { return hydrogen()->strict_mode(); }
1642 }; 1644 };
1643 1645
1644 1646
1645 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { 1647 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> {
1646 public: 1648 public:
1647 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { 1649 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) {
1648 inputs_[0] = obj; 1650 inputs_[0] = obj;
1649 inputs_[1] = key; 1651 inputs_[1] = key;
1650 inputs_[2] = val; 1652 inputs_[2] = val;
1651 } 1653 }
(...skipping 19 matching lines...) Expand all
1671 } 1673 }
1672 1674
1673 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") 1675 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic")
1674 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) 1676 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric)
1675 1677
1676 virtual void PrintDataTo(StringStream* stream); 1678 virtual void PrintDataTo(StringStream* stream);
1677 1679
1678 LOperand* object() { return inputs_[0]; } 1680 LOperand* object() { return inputs_[0]; }
1679 LOperand* key() { return inputs_[1]; } 1681 LOperand* key() { return inputs_[1]; }
1680 LOperand* value() { return inputs_[2]; } 1682 LOperand* value() { return inputs_[2]; }
1683 bool strict_mode() { return hydrogen()->strict_mode(); }
1681 }; 1684 };
1682 1685
1683 class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 0> { 1686 class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 0> {
1684 public: 1687 public:
1685 LStoreKeyedSpecializedArrayElement(LOperand* external_pointer, 1688 LStoreKeyedSpecializedArrayElement(LOperand* external_pointer,
1686 LOperand* key, 1689 LOperand* key,
1687 LOperand* val) { 1690 LOperand* val) {
1688 inputs_[0] = external_pointer; 1691 inputs_[0] = external_pointer;
1689 inputs_[1] = key; 1692 inputs_[1] = key;
1690 inputs_[2] = val; 1693 inputs_[2] = val;
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
2170 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2173 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2171 }; 2174 };
2172 2175
2173 #undef DECLARE_HYDROGEN_ACCESSOR 2176 #undef DECLARE_HYDROGEN_ACCESSOR
2174 #undef DECLARE_INSTRUCTION 2177 #undef DECLARE_INSTRUCTION
2175 #undef DECLARE_CONCRETE_INSTRUCTION 2178 #undef DECLARE_CONCRETE_INSTRUCTION
2176 2179
2177 } } // namespace v8::internal 2180 } } // namespace v8::internal
2178 2181
2179 #endif // V8_ARM_LITHIUM_ARM_H_ 2182 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/lithium-codegen-arm.cc » ('j') | src/arm/lithium-codegen-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698