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

Side by Side Diff: src/x64/lithium-x64.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
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 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 inputs_[0] = global_object; 1288 inputs_[0] = global_object;
1289 inputs_[1] = value; 1289 inputs_[1] = value;
1290 } 1290 }
1291 1291
1292 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") 1292 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic")
1293 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) 1293 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric)
1294 1294
1295 LOperand* global_object() { return InputAt(0); } 1295 LOperand* global_object() { return InputAt(0); }
1296 Handle<Object> name() const { return hydrogen()->name(); } 1296 Handle<Object> name() const { return hydrogen()->name(); }
1297 LOperand* value() { return InputAt(1); } 1297 LOperand* value() { return InputAt(1); }
1298 bool strict_mode() { return hydrogen()->strict_mode(); }
1298 }; 1299 };
1299 1300
1300 1301
1301 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { 1302 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> {
1302 public: 1303 public:
1303 explicit LLoadContextSlot(LOperand* context) { 1304 explicit LLoadContextSlot(LOperand* context) {
1304 inputs_[0] = context; 1305 inputs_[0] = context;
1305 } 1306 }
1306 1307
1307 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1308 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
1609 } 1610 }
1610 1611
1611 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") 1612 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic")
1612 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) 1613 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric)
1613 1614
1614 virtual void PrintDataTo(StringStream* stream); 1615 virtual void PrintDataTo(StringStream* stream);
1615 1616
1616 LOperand* object() { return inputs_[0]; } 1617 LOperand* object() { return inputs_[0]; }
1617 LOperand* value() { return inputs_[1]; } 1618 LOperand* value() { return inputs_[1]; }
1618 Handle<Object> name() const { return hydrogen()->name(); } 1619 Handle<Object> name() const { return hydrogen()->name(); }
1620 bool strict_mode() { return hydrogen()->strict_mode(); }
1619 }; 1621 };
1620 1622
1621 1623
1622 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { 1624 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> {
1623 public: 1625 public:
1624 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { 1626 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) {
1625 inputs_[0] = obj; 1627 inputs_[0] = obj;
1626 inputs_[1] = key; 1628 inputs_[1] = key;
1627 inputs_[2] = val; 1629 inputs_[2] = val;
1628 } 1630 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1664 1666
1665 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> { 1667 class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> {
1666 public: 1668 public:
1667 LStoreKeyedGeneric(LOperand* object, LOperand* key, LOperand* value) { 1669 LStoreKeyedGeneric(LOperand* object, LOperand* key, LOperand* value) {
1668 inputs_[0] = object; 1670 inputs_[0] = object;
1669 inputs_[1] = key; 1671 inputs_[1] = key;
1670 inputs_[2] = value; 1672 inputs_[2] = value;
1671 } 1673 }
1672 1674
1673 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") 1675 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic")
1676 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric)
1674 1677
1675 virtual void PrintDataTo(StringStream* stream); 1678 virtual void PrintDataTo(StringStream* stream);
1676 1679
1677 LOperand* object() { return inputs_[0]; } 1680 LOperand* object() { return inputs_[0]; }
1678 LOperand* key() { return inputs_[1]; } 1681 LOperand* key() { return inputs_[1]; }
1679 LOperand* value() { return inputs_[2]; } 1682 LOperand* value() { return inputs_[2]; }
1683 bool strict_mode() { return hydrogen()->strict_mode(); }
1680 }; 1684 };
1681 1685
1682 1686
1683 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { 1687 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> {
1684 public: 1688 public:
1685 LStringCharCodeAt(LOperand* string, LOperand* index) { 1689 LStringCharCodeAt(LOperand* string, LOperand* index) {
1686 inputs_[0] = string; 1690 inputs_[0] = string;
1687 inputs_[1] = index; 1691 inputs_[1] = index;
1688 } 1692 }
1689 1693
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
2152 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2156 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2153 }; 2157 };
2154 2158
2155 #undef DECLARE_HYDROGEN_ACCESSOR 2159 #undef DECLARE_HYDROGEN_ACCESSOR
2156 #undef DECLARE_INSTRUCTION 2160 #undef DECLARE_INSTRUCTION
2157 #undef DECLARE_CONCRETE_INSTRUCTION 2161 #undef DECLARE_CONCRETE_INSTRUCTION
2158 2162
2159 } } // namespace v8::int 2163 } } // namespace v8::int
2160 2164
2161 #endif // V8_X64_LITHIUM_X64_H_ 2165 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698