OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved.7 | 1 // Copyright 2012 the V8 project authors. All rights reserved.7 |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 4471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4482 Register result = ToRegister(instr->result()); | 4482 Register result = ToRegister(instr->result()); |
4483 | 4483 |
4484 // TODO(3095996): Get rid of this. For now, we need to make the | 4484 // TODO(3095996): Get rid of this. For now, we need to make the |
4485 // result register contain a valid pointer because it is already | 4485 // result register contain a valid pointer because it is already |
4486 // contained in the register pointer map. | 4486 // contained in the register pointer map. |
4487 __ mov(result, zero_reg); | 4487 __ mov(result, zero_reg); |
4488 | 4488 |
4489 PushSafepointRegistersScope scope(this); | 4489 PushSafepointRegistersScope scope(this); |
4490 __ SmiTag(char_code); | 4490 __ SmiTag(char_code); |
4491 __ push(char_code); | 4491 __ push(char_code); |
4492 CallRuntimeFromDeferred(Runtime::kCharFromCode, 1, instr, instr->context()); | 4492 CallRuntimeFromDeferred(Runtime::kStringCharFromCode, 1, instr, |
| 4493 instr->context()); |
4493 __ StoreToSafepointRegisterSlot(v0, result); | 4494 __ StoreToSafepointRegisterSlot(v0, result); |
4494 } | 4495 } |
4495 | 4496 |
4496 | 4497 |
4497 void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { | 4498 void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { |
4498 LOperand* input = instr->value(); | 4499 LOperand* input = instr->value(); |
4499 DCHECK(input->IsRegister() || input->IsStackSlot()); | 4500 DCHECK(input->IsRegister() || input->IsStackSlot()); |
4500 LOperand* output = instr->result(); | 4501 LOperand* output = instr->result(); |
4501 DCHECK(output->IsDoubleRegister()); | 4502 DCHECK(output->IsDoubleRegister()); |
4502 FPURegister single_scratch = double_scratch0().low(); | 4503 FPURegister single_scratch = double_scratch0().low(); |
(...skipping 1323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5826 __ Push(at, ToRegister(instr->function())); | 5827 __ Push(at, ToRegister(instr->function())); |
5827 CallRuntime(Runtime::kPushBlockContext, 2, instr); | 5828 CallRuntime(Runtime::kPushBlockContext, 2, instr); |
5828 RecordSafepoint(Safepoint::kNoLazyDeopt); | 5829 RecordSafepoint(Safepoint::kNoLazyDeopt); |
5829 } | 5830 } |
5830 | 5831 |
5831 | 5832 |
5832 #undef __ | 5833 #undef __ |
5833 | 5834 |
5834 } // namespace internal | 5835 } // namespace internal |
5835 } // namespace v8 | 5836 } // namespace v8 |
OLD | NEW |