Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: src/compiler/ppc/code-generator-ppc.cc

Issue 1704033002: [wasm] WasmRunner can run tests with I64 parameters and return value. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@new_wasm_runner
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
10 #include "src/compiler/node-matchers.h" 10 #include "src/compiler/node-matchers.h"
(...skipping 1561 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 1572
1573 void CodeGenerator::AssembleDeoptimizerCall( 1573 void CodeGenerator::AssembleDeoptimizerCall(
1574 int deoptimization_id, Deoptimizer::BailoutType bailout_type) { 1574 int deoptimization_id, Deoptimizer::BailoutType bailout_type) {
1575 Address deopt_entry = Deoptimizer::GetDeoptimizationEntry( 1575 Address deopt_entry = Deoptimizer::GetDeoptimizationEntry(
1576 isolate(), deoptimization_id, bailout_type); 1576 isolate(), deoptimization_id, bailout_type);
1577 __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY); 1577 __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY);
1578 } 1578 }
1579 1579
1580 1580
1581 void CodeGenerator::AssemblePrologue() { 1581 void CodeGenerator::AssemblePrologue() {
1582 CallDescriptor* descriptor = linkage()->GetIncomingDescriptor(); 1582 const CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
1583 if (descriptor->IsCFunctionCall()) { 1583 if (descriptor->IsCFunctionCall()) {
1584 __ function_descriptor(); 1584 __ function_descriptor();
1585 __ mflr(r0); 1585 __ mflr(r0);
1586 if (FLAG_enable_embedded_constant_pool) { 1586 if (FLAG_enable_embedded_constant_pool) {
1587 __ Push(r0, fp, kConstantPoolRegister); 1587 __ Push(r0, fp, kConstantPoolRegister);
1588 // Adjust FP to point to saved FP. 1588 // Adjust FP to point to saved FP.
1589 __ subi(fp, sp, Operand(StandardFrameConstants::kConstantPoolOffset)); 1589 __ subi(fp, sp, Operand(StandardFrameConstants::kConstantPoolOffset));
1590 } else { 1590 } else {
1591 __ Push(r0, fp); 1591 __ Push(r0, fp);
1592 __ mr(fp, sp); 1592 __ mr(fp, sp);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1646 // register save area does not include the fp or constant pool pointer. 1646 // register save area does not include the fp or constant pool pointer.
1647 const int num_saves = 1647 const int num_saves =
1648 kNumCalleeSaved - 1 - (FLAG_enable_embedded_constant_pool ? 1 : 0); 1648 kNumCalleeSaved - 1 - (FLAG_enable_embedded_constant_pool ? 1 : 0);
1649 DCHECK(num_saves == base::bits::CountPopulation32(saves)); 1649 DCHECK(num_saves == base::bits::CountPopulation32(saves));
1650 frame()->AllocateSavedCalleeRegisterSlots(num_saves); 1650 frame()->AllocateSavedCalleeRegisterSlots(num_saves);
1651 } 1651 }
1652 } 1652 }
1653 1653
1654 1654
1655 void CodeGenerator::AssembleReturn() { 1655 void CodeGenerator::AssembleReturn() {
1656 CallDescriptor* descriptor = linkage()->GetIncomingDescriptor(); 1656 const CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
1657 int pop_count = static_cast<int>(descriptor->StackParameterCount()); 1657 int pop_count = static_cast<int>(descriptor->StackParameterCount());
1658 1658
1659 // Restore registers. 1659 // Restore registers.
1660 const RegList saves = 1660 const RegList saves =
1661 FLAG_enable_embedded_constant_pool 1661 FLAG_enable_embedded_constant_pool
1662 ? descriptor->CalleeSavedRegisters() & ~kConstantPoolRegister.bit() 1662 ? descriptor->CalleeSavedRegisters() & ~kConstantPoolRegister.bit()
1663 : descriptor->CalleeSavedRegisters(); 1663 : descriptor->CalleeSavedRegisters();
1664 if (saves != 0) { 1664 if (saves != 0) {
1665 __ MultiPop(saves); 1665 __ MultiPop(saves);
1666 } 1666 }
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
1892 padding_size -= v8::internal::Assembler::kInstrSize; 1892 padding_size -= v8::internal::Assembler::kInstrSize;
1893 } 1893 }
1894 } 1894 }
1895 } 1895 }
1896 1896
1897 #undef __ 1897 #undef __
1898 1898
1899 } // namespace compiler 1899 } // namespace compiler
1900 } // namespace internal 1900 } // namespace internal
1901 } // namespace v8 1901 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698