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

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

Issue 8857001: [hydrogen] don't bailout assignments to consts (Closed) Base URL: gh:v8/v8@master
Patch Set: [arm] fixed illegal access errorwq Created 9 years 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
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 1255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 public: 1266 public:
1267 explicit LLoadContextSlot(LOperand* context) { 1267 explicit LLoadContextSlot(LOperand* context) {
1268 inputs_[0] = context; 1268 inputs_[0] = context;
1269 } 1269 }
1270 1270
1271 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1271 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
1272 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) 1272 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
1273 1273
1274 LOperand* context() { return InputAt(0); } 1274 LOperand* context() { return InputAt(0); }
1275 int slot_index() { return hydrogen()->slot_index(); } 1275 int slot_index() { return hydrogen()->slot_index(); }
1276 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); }
1276 1277
1277 virtual void PrintDataTo(StringStream* stream); 1278 virtual void PrintDataTo(StringStream* stream);
1278 }; 1279 };
1279 1280
1280 1281
1281 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> { 1282 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> {
1282 public: 1283 public:
1283 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) { 1284 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) {
1284 inputs_[0] = context; 1285 inputs_[0] = context;
1285 inputs_[1] = value; 1286 inputs_[1] = value;
1286 temps_[0] = temp; 1287 temps_[0] = temp;
1287 } 1288 }
1288 1289
1289 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot") 1290 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot")
1290 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot) 1291 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot)
1291 1292
1292 LOperand* context() { return InputAt(0); } 1293 LOperand* context() { return InputAt(0); }
1293 LOperand* value() { return InputAt(1); } 1294 LOperand* value() { return InputAt(1); }
1294 int slot_index() { return hydrogen()->slot_index(); } 1295 int slot_index() { return hydrogen()->slot_index(); }
1296 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); }
1295 1297
1296 virtual void PrintDataTo(StringStream* stream); 1298 virtual void PrintDataTo(StringStream* stream);
1297 }; 1299 };
1298 1300
1299 1301
1300 class LPushArgument: public LTemplateInstruction<0, 1, 0> { 1302 class LPushArgument: public LTemplateInstruction<0, 1, 0> {
1301 public: 1303 public:
1302 explicit LPushArgument(LOperand* value) { 1304 explicit LPushArgument(LOperand* value) {
1303 inputs_[0] = value; 1305 inputs_[0] = value;
1304 } 1306 }
(...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after
2244 2246
2245 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2247 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2246 }; 2248 };
2247 2249
2248 #undef DECLARE_HYDROGEN_ACCESSOR 2250 #undef DECLARE_HYDROGEN_ACCESSOR
2249 #undef DECLARE_CONCRETE_INSTRUCTION 2251 #undef DECLARE_CONCRETE_INSTRUCTION
2250 2252
2251 } } // namespace v8::int 2253 } } // namespace v8::int
2252 2254
2253 #endif // V8_X64_LITHIUM_X64_H_ 2255 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698