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

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

Issue 8417035: Introduce extended mode. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed more comments. Created 9 years, 1 month 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 | « src/x64/lithium-codegen-x64.cc ('k') | src/x64/stub-cache-x64.cc » ('j') | no next file with comments »
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 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after
1217 inputs_[0] = global_object; 1217 inputs_[0] = global_object;
1218 inputs_[1] = value; 1218 inputs_[1] = value;
1219 } 1219 }
1220 1220
1221 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") 1221 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic")
1222 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) 1222 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric)
1223 1223
1224 LOperand* global_object() { return InputAt(0); } 1224 LOperand* global_object() { return InputAt(0); }
1225 Handle<Object> name() const { return hydrogen()->name(); } 1225 Handle<Object> name() const { return hydrogen()->name(); }
1226 LOperand* value() { return InputAt(1); } 1226 LOperand* value() { return InputAt(1); }
1227 bool strict_mode() { return hydrogen()->strict_mode(); } 1227 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); }
1228 }; 1228 };
1229 1229
1230 1230
1231 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { 1231 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> {
1232 public: 1232 public:
1233 explicit LLoadContextSlot(LOperand* context) { 1233 explicit LLoadContextSlot(LOperand* context) {
1234 inputs_[0] = context; 1234 inputs_[0] = context;
1235 } 1235 }
1236 1236
1237 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1237 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 1566
1567 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") 1567 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic")
1568 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) 1568 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric)
1569 1569
1570 virtual void PrintDataTo(StringStream* stream); 1570 virtual void PrintDataTo(StringStream* stream);
1571 1571
1572 LOperand* object() { return inputs_[0]; } 1572 LOperand* object() { return inputs_[0]; }
1573 LOperand* value() { return inputs_[1]; } 1573 LOperand* value() { return inputs_[1]; }
1574 Handle<Object> name() const { return hydrogen()->name(); } 1574 Handle<Object> name() const { return hydrogen()->name(); }
1575 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } 1575 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); }
1576 bool strict_mode() { return strict_mode_flag() == kStrictMode; }
1577 }; 1576 };
1578 1577
1579 1578
1580 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { 1579 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> {
1581 public: 1580 public:
1582 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { 1581 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) {
1583 inputs_[0] = obj; 1582 inputs_[0] = obj;
1584 inputs_[1] = key; 1583 inputs_[1] = key;
1585 inputs_[2] = val; 1584 inputs_[2] = val;
1586 } 1585 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1651 } 1650 }
1652 1651
1653 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") 1652 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic")
1654 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) 1653 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric)
1655 1654
1656 virtual void PrintDataTo(StringStream* stream); 1655 virtual void PrintDataTo(StringStream* stream);
1657 1656
1658 LOperand* object() { return inputs_[0]; } 1657 LOperand* object() { return inputs_[0]; }
1659 LOperand* key() { return inputs_[1]; } 1658 LOperand* key() { return inputs_[1]; }
1660 LOperand* value() { return inputs_[2]; } 1659 LOperand* value() { return inputs_[2]; }
1661 bool strict_mode() { return hydrogen()->strict_mode(); } 1660 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); }
1662 }; 1661 };
1663 1662
1664 1663
1665 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> { 1664 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> {
1666 public: 1665 public:
1667 LTransitionElementsKind(LOperand* object, 1666 LTransitionElementsKind(LOperand* object,
1668 LOperand* new_map_temp, 1667 LOperand* new_map_temp,
1669 LOperand* temp_reg) { 1668 LOperand* temp_reg) {
1670 inputs_[0] = object; 1669 inputs_[0] = object;
1671 temps_[0] = new_map_temp; 1670 temps_[0] = new_map_temp;
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
2202 2201
2203 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2202 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2204 }; 2203 };
2205 2204
2206 #undef DECLARE_HYDROGEN_ACCESSOR 2205 #undef DECLARE_HYDROGEN_ACCESSOR
2207 #undef DECLARE_CONCRETE_INSTRUCTION 2206 #undef DECLARE_CONCRETE_INSTRUCTION
2208 2207
2209 } } // namespace v8::int 2208 } } // namespace v8::int
2210 2209
2211 #endif // V8_X64_LITHIUM_X64_H_ 2210 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW
« no previous file with comments | « src/x64/lithium-codegen-x64.cc ('k') | src/x64/stub-cache-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698