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 4688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4699 Register result = ToRegister(instr->result()); | 4699 Register result = ToRegister(instr->result()); |
4700 | 4700 |
4701 // TODO(3095996): Get rid of this. For now, we need to make the | 4701 // TODO(3095996): Get rid of this. For now, we need to make the |
4702 // result register contain a valid pointer because it is already | 4702 // result register contain a valid pointer because it is already |
4703 // contained in the register pointer map. | 4703 // contained in the register pointer map. |
4704 __ mov(result, zero_reg); | 4704 __ mov(result, zero_reg); |
4705 | 4705 |
4706 PushSafepointRegistersScope scope(this); | 4706 PushSafepointRegistersScope scope(this); |
4707 __ SmiTag(char_code); | 4707 __ SmiTag(char_code); |
4708 __ push(char_code); | 4708 __ push(char_code); |
4709 CallRuntimeFromDeferred(Runtime::kCharFromCode, 1, instr, instr->context()); | 4709 CallRuntimeFromDeferred(Runtime::kStringCharFromCode, 1, instr, |
| 4710 instr->context()); |
4710 __ StoreToSafepointRegisterSlot(v0, result); | 4711 __ StoreToSafepointRegisterSlot(v0, result); |
4711 } | 4712 } |
4712 | 4713 |
4713 | 4714 |
4714 void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { | 4715 void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { |
4715 LOperand* input = instr->value(); | 4716 LOperand* input = instr->value(); |
4716 DCHECK(input->IsRegister() || input->IsStackSlot()); | 4717 DCHECK(input->IsRegister() || input->IsStackSlot()); |
4717 LOperand* output = instr->result(); | 4718 LOperand* output = instr->result(); |
4718 DCHECK(output->IsDoubleRegister()); | 4719 DCHECK(output->IsDoubleRegister()); |
4719 FPURegister single_scratch = double_scratch0().low(); | 4720 FPURegister single_scratch = double_scratch0().low(); |
(...skipping 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6011 __ Push(at, ToRegister(instr->function())); | 6012 __ Push(at, ToRegister(instr->function())); |
6012 CallRuntime(Runtime::kPushBlockContext, 2, instr); | 6013 CallRuntime(Runtime::kPushBlockContext, 2, instr); |
6013 RecordSafepoint(Safepoint::kNoLazyDeopt); | 6014 RecordSafepoint(Safepoint::kNoLazyDeopt); |
6014 } | 6015 } |
6015 | 6016 |
6016 | 6017 |
6017 #undef __ | 6018 #undef __ |
6018 | 6019 |
6019 } // namespace internal | 6020 } // namespace internal |
6020 } // namespace v8 | 6021 } // namespace v8 |
OLD | NEW |