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

Side by Side Diff: src/crankshaft/mips/lithium-mips.cc

Issue 1492983002: [crankshaft] Deoptimize if HHasInPrototypeChainAndBranch hits a proxy. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/crankshaft/mips/lithium-mips.h" 5 #include "src/crankshaft/mips/lithium-mips.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #if V8_TARGET_ARCH_MIPS 9 #if V8_TARGET_ARCH_MIPS
10 10
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 LOperand* context = UseFixed(instr->context(), cp); 979 LOperand* context = UseFixed(instr->context(), cp);
980 LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); 980 LInstanceOf* result = new (zone()) LInstanceOf(context, left, right);
981 return MarkAsCall(DefineFixed(result, v0), instr); 981 return MarkAsCall(DefineFixed(result, v0), instr);
982 } 982 }
983 983
984 984
985 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( 985 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch(
986 HHasInPrototypeChainAndBranch* instr) { 986 HHasInPrototypeChainAndBranch* instr) {
987 LOperand* object = UseRegister(instr->object()); 987 LOperand* object = UseRegister(instr->object());
988 LOperand* prototype = UseRegister(instr->prototype()); 988 LOperand* prototype = UseRegister(instr->prototype());
989 return new (zone()) LHasInPrototypeChainAndBranch(object, prototype); 989 LHasInPrototypeChainAndBranch* result =
990 new (zone()) LHasInPrototypeChainAndBranch(object, prototype);
991 return AssignEnvironment(result);
990 } 992 }
991 993
992 994
993 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { 995 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) {
994 LOperand* receiver = UseRegisterAtStart(instr->receiver()); 996 LOperand* receiver = UseRegisterAtStart(instr->receiver());
995 LOperand* function = UseRegisterAtStart(instr->function()); 997 LOperand* function = UseRegisterAtStart(instr->function());
996 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function); 998 LWrapReceiver* result = new(zone()) LWrapReceiver(receiver, function);
997 return AssignEnvironment(DefineAsRegister(result)); 999 return AssignEnvironment(DefineAsRegister(result));
998 } 1000 }
999 1001
(...skipping 1580 matching lines...) Expand 10 before | Expand all | Expand 10 after
2580 LOperand* function = UseRegisterAtStart(instr->function()); 2582 LOperand* function = UseRegisterAtStart(instr->function());
2581 LAllocateBlockContext* result = 2583 LAllocateBlockContext* result =
2582 new(zone()) LAllocateBlockContext(context, function); 2584 new(zone()) LAllocateBlockContext(context, function);
2583 return MarkAsCall(DefineFixed(result, cp), instr); 2585 return MarkAsCall(DefineFixed(result, cp), instr);
2584 } 2586 }
2585 2587
2586 } // namespace internal 2588 } // namespace internal
2587 } // namespace v8 2589 } // namespace v8
2588 2590
2589 #endif // V8_TARGET_ARCH_MIPS 2591 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/crankshaft/mips/lithium-codegen-mips.cc ('k') | src/crankshaft/mips64/lithium-codegen-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698