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

Side by Side Diff: src/ia32/lithium-ia32.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 1296 matching lines...) Expand 10 before | Expand all | Expand 10 after
1307 public: 1307 public:
1308 explicit LLoadContextSlot(LOperand* context) { 1308 explicit LLoadContextSlot(LOperand* context) {
1309 inputs_[0] = context; 1309 inputs_[0] = context;
1310 } 1310 }
1311 1311
1312 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") 1312 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot")
1313 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) 1313 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot)
1314 1314
1315 LOperand* context() { return InputAt(0); } 1315 LOperand* context() { return InputAt(0); }
1316 int slot_index() { return hydrogen()->slot_index(); } 1316 int slot_index() { return hydrogen()->slot_index(); }
1317 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); }
1317 1318
1318 virtual void PrintDataTo(StringStream* stream); 1319 virtual void PrintDataTo(StringStream* stream);
1319 }; 1320 };
1320 1321
1321 1322
1322 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> { 1323 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> {
1323 public: 1324 public:
1324 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) { 1325 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) {
1325 inputs_[0] = context; 1326 inputs_[0] = context;
1326 inputs_[1] = value; 1327 inputs_[1] = value;
1327 temps_[0] = temp; 1328 temps_[0] = temp;
1328 } 1329 }
1329 1330
1330 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot") 1331 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot")
1331 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot) 1332 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot)
1332 1333
1333 LOperand* context() { return InputAt(0); } 1334 LOperand* context() { return InputAt(0); }
1334 LOperand* value() { return InputAt(1); } 1335 LOperand* value() { return InputAt(1); }
1335 int slot_index() { return hydrogen()->slot_index(); } 1336 int slot_index() { return hydrogen()->slot_index(); }
1337 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); }
1336 1338
1337 virtual void PrintDataTo(StringStream* stream); 1339 virtual void PrintDataTo(StringStream* stream);
1338 }; 1340 };
1339 1341
1340 1342
1341 class LPushArgument: public LTemplateInstruction<0, 1, 0> { 1343 class LPushArgument: public LTemplateInstruction<0, 1, 0> {
1342 public: 1344 public:
1343 explicit LPushArgument(LOperand* value) { 1345 explicit LPushArgument(LOperand* value) {
1344 inputs_[0] = value; 1346 inputs_[0] = value;
1345 } 1347 }
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
2375 2377
2376 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2378 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2377 }; 2379 };
2378 2380
2379 #undef DECLARE_HYDROGEN_ACCESSOR 2381 #undef DECLARE_HYDROGEN_ACCESSOR
2380 #undef DECLARE_CONCRETE_INSTRUCTION 2382 #undef DECLARE_CONCRETE_INSTRUCTION
2381 2383
2382 } } // namespace v8::internal 2384 } } // namespace v8::internal
2383 2385
2384 #endif // V8_IA32_LITHIUM_IA32_H_ 2386 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698