| OLD | NEW |
| 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/mips64/lithium-codegen-mips64.h" | 5 #include "src/crankshaft/mips64/lithium-codegen-mips64.h" |
| 6 | 6 |
| 7 #include "src/code-factory.h" | 7 #include "src/code-factory.h" |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/crankshaft/hydrogen-osr.h" | 9 #include "src/crankshaft/hydrogen-osr.h" |
| 10 #include "src/crankshaft/mips64/lithium-gap-resolver-mips64.h" | 10 #include "src/crankshaft/mips64/lithium-gap-resolver-mips64.h" |
| (...skipping 910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { | 921 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { |
| 922 DoGap(instr); | 922 DoGap(instr); |
| 923 } | 923 } |
| 924 | 924 |
| 925 | 925 |
| 926 void LCodeGen::DoParameter(LParameter* instr) { | 926 void LCodeGen::DoParameter(LParameter* instr) { |
| 927 // Nothing to do. | 927 // Nothing to do. |
| 928 } | 928 } |
| 929 | 929 |
| 930 | 930 |
| 931 void LCodeGen::DoCallStub(LCallStub* instr) { | |
| 932 DCHECK(ToRegister(instr->context()).is(cp)); | |
| 933 DCHECK(ToRegister(instr->result()).is(v0)); | |
| 934 switch (instr->hydrogen()->major_key()) { | |
| 935 case CodeStub::RegExpExec: { | |
| 936 RegExpExecStub stub(isolate()); | |
| 937 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
| 938 break; | |
| 939 } | |
| 940 case CodeStub::SubString: { | |
| 941 SubStringStub stub(isolate()); | |
| 942 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
| 943 break; | |
| 944 } | |
| 945 default: | |
| 946 UNREACHABLE(); | |
| 947 } | |
| 948 } | |
| 949 | |
| 950 | |
| 951 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { | 931 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { |
| 952 GenerateOsrPrologue(); | 932 GenerateOsrPrologue(); |
| 953 } | 933 } |
| 954 | 934 |
| 955 | 935 |
| 956 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { | 936 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { |
| 957 Register dividend = ToRegister(instr->dividend()); | 937 Register dividend = ToRegister(instr->dividend()); |
| 958 int32_t divisor = instr->divisor(); | 938 int32_t divisor = instr->divisor(); |
| 959 DCHECK(dividend.is(ToRegister(instr->result()))); | 939 DCHECK(dividend.is(ToRegister(instr->result()))); |
| 960 | 940 |
| (...skipping 4816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5777 __ Push(at, ToRegister(instr->function())); | 5757 __ Push(at, ToRegister(instr->function())); |
| 5778 CallRuntime(Runtime::kPushBlockContext, instr); | 5758 CallRuntime(Runtime::kPushBlockContext, instr); |
| 5779 RecordSafepoint(Safepoint::kNoLazyDeopt); | 5759 RecordSafepoint(Safepoint::kNoLazyDeopt); |
| 5780 } | 5760 } |
| 5781 | 5761 |
| 5782 | 5762 |
| 5783 #undef __ | 5763 #undef __ |
| 5784 | 5764 |
| 5785 } // namespace internal | 5765 } // namespace internal |
| 5786 } // namespace v8 | 5766 } // namespace v8 |
| OLD | NEW |