OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/s390/lithium-s390.h" | 5 #include "src/crankshaft/s390/lithium-s390.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/crankshaft/hydrogen-osr.h" | 9 #include "src/crankshaft/hydrogen-osr.h" |
10 #include "src/crankshaft/lithium-inl.h" | 10 #include "src/crankshaft/lithium-inl.h" |
(...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
858 info()->MarkAsRequiresFrame(); | 858 info()->MarkAsRequiresFrame(); |
859 LOperand* value = UseRegister(instr->value()); | 859 LOperand* value = UseRegister(instr->value()); |
860 return DefineAsRegister(new (zone()) LArgumentsLength(value)); | 860 return DefineAsRegister(new (zone()) LArgumentsLength(value)); |
861 } | 861 } |
862 | 862 |
863 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { | 863 LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { |
864 info()->MarkAsRequiresFrame(); | 864 info()->MarkAsRequiresFrame(); |
865 return DefineAsRegister(new (zone()) LArgumentsElements); | 865 return DefineAsRegister(new (zone()) LArgumentsElements); |
866 } | 866 } |
867 | 867 |
868 LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) { | |
869 LOperand* left = | |
870 UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister()); | |
871 LOperand* right = | |
872 UseFixed(instr->right(), InstanceOfDescriptor::RightRegister()); | |
873 LOperand* context = UseFixed(instr->context(), cp); | |
874 LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); | |
875 return MarkAsCall(DefineFixed(result, r2), instr); | |
876 } | |
877 | |
878 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( | 868 LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( |
879 HHasInPrototypeChainAndBranch* instr) { | 869 HHasInPrototypeChainAndBranch* instr) { |
880 LOperand* object = UseRegister(instr->object()); | 870 LOperand* object = UseRegister(instr->object()); |
881 LOperand* prototype = UseRegister(instr->prototype()); | 871 LOperand* prototype = UseRegister(instr->prototype()); |
882 LHasInPrototypeChainAndBranch* result = | 872 LHasInPrototypeChainAndBranch* result = |
883 new (zone()) LHasInPrototypeChainAndBranch(object, prototype); | 873 new (zone()) LHasInPrototypeChainAndBranch(object, prototype); |
884 return AssignEnvironment(result); | 874 return AssignEnvironment(result); |
885 } | 875 } |
886 | 876 |
887 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { | 877 LInstruction* LChunkBuilder::DoWrapReceiver(HWrapReceiver* instr) { |
(...skipping 1398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2276 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2287 LOperand* object = UseRegister(instr->object()); | 2277 LOperand* object = UseRegister(instr->object()); |
2288 LOperand* index = UseTempRegister(instr->index()); | 2278 LOperand* index = UseTempRegister(instr->index()); |
2289 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); | 2279 LLoadFieldByIndex* load = new (zone()) LLoadFieldByIndex(object, index); |
2290 LInstruction* result = DefineSameAsFirst(load); | 2280 LInstruction* result = DefineSameAsFirst(load); |
2291 return AssignPointerMap(result); | 2281 return AssignPointerMap(result); |
2292 } | 2282 } |
2293 | 2283 |
2294 } // namespace internal | 2284 } // namespace internal |
2295 } // namespace v8 | 2285 } // namespace v8 |
OLD | NEW |