| 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/ppc/lithium-codegen-ppc.h" | 5 #include "src/crankshaft/ppc/lithium-codegen-ppc.h" |
| 6 | 6 |
| 7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
| 8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/crankshaft/hydrogen-osr.h" | 10 #include "src/crankshaft/hydrogen-osr.h" |
| (...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 883 | 883 |
| 884 | 884 |
| 885 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { DoGap(instr); } | 885 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { DoGap(instr); } |
| 886 | 886 |
| 887 | 887 |
| 888 void LCodeGen::DoParameter(LParameter* instr) { | 888 void LCodeGen::DoParameter(LParameter* instr) { |
| 889 // Nothing to do. | 889 // Nothing to do. |
| 890 } | 890 } |
| 891 | 891 |
| 892 | 892 |
| 893 void LCodeGen::DoCallStub(LCallStub* instr) { | |
| 894 DCHECK(ToRegister(instr->context()).is(cp)); | |
| 895 DCHECK(ToRegister(instr->result()).is(r3)); | |
| 896 switch (instr->hydrogen()->major_key()) { | |
| 897 case CodeStub::RegExpExec: { | |
| 898 RegExpExecStub stub(isolate()); | |
| 899 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
| 900 break; | |
| 901 } | |
| 902 case CodeStub::SubString: { | |
| 903 SubStringStub stub(isolate()); | |
| 904 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
| 905 break; | |
| 906 } | |
| 907 default: | |
| 908 UNREACHABLE(); | |
| 909 } | |
| 910 } | |
| 911 | |
| 912 | |
| 913 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { | 893 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { |
| 914 GenerateOsrPrologue(); | 894 GenerateOsrPrologue(); |
| 915 } | 895 } |
| 916 | 896 |
| 917 | 897 |
| 918 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { | 898 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { |
| 919 Register dividend = ToRegister(instr->dividend()); | 899 Register dividend = ToRegister(instr->dividend()); |
| 920 int32_t divisor = instr->divisor(); | 900 int32_t divisor = instr->divisor(); |
| 921 DCHECK(dividend.is(ToRegister(instr->result()))); | 901 DCHECK(dividend.is(ToRegister(instr->result()))); |
| 922 | 902 |
| (...skipping 4857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5780 __ Push(scope_info); | 5760 __ Push(scope_info); |
| 5781 __ push(ToRegister(instr->function())); | 5761 __ push(ToRegister(instr->function())); |
| 5782 CallRuntime(Runtime::kPushBlockContext, instr); | 5762 CallRuntime(Runtime::kPushBlockContext, instr); |
| 5783 RecordSafepoint(Safepoint::kNoLazyDeopt); | 5763 RecordSafepoint(Safepoint::kNoLazyDeopt); |
| 5784 } | 5764 } |
| 5785 | 5765 |
| 5786 | 5766 |
| 5787 #undef __ | 5767 #undef __ |
| 5788 } // namespace internal | 5768 } // namespace internal |
| 5789 } // namespace v8 | 5769 } // namespace v8 |
| OLD | NEW |