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

Side by Side Diff: src/ppc/code-stubs-ppc.cc

Issue 1218463004: PPC: Make context register implicit for CallInterfaceDescriptors (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 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
« no previous file with comments | « no previous file | src/ppc/interface-descriptors-ppc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_PPC 7 #if V8_TARGET_ARCH_PPC
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm, Register lhs, 101 static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm, Register lhs,
102 Register rhs); 102 Register rhs);
103 103
104 104
105 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm, 105 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm,
106 ExternalReference miss) { 106 ExternalReference miss) {
107 // Update the static counter each time a new code stub is generated. 107 // Update the static counter each time a new code stub is generated.
108 isolate()->counters()->code_stubs()->Increment(); 108 isolate()->counters()->code_stubs()->Increment();
109 109
110 CallInterfaceDescriptor descriptor = GetCallInterfaceDescriptor(); 110 CallInterfaceDescriptor descriptor = GetCallInterfaceDescriptor();
111 int param_count = descriptor.GetEnvironmentParameterCount(); 111 int param_count = descriptor.GetRegisterParameterCount();
112 { 112 {
113 // Call the runtime system in a fresh internal frame. 113 // Call the runtime system in a fresh internal frame.
114 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); 114 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
115 DCHECK(param_count == 0 || 115 DCHECK(param_count == 0 ||
116 r3.is(descriptor.GetEnvironmentParameterRegister(param_count - 1))); 116 r3.is(descriptor.GetRegisterParameter(param_count - 1)));
117 // Push arguments 117 // Push arguments
118 for (int i = 0; i < param_count; ++i) { 118 for (int i = 0; i < param_count; ++i) {
119 __ push(descriptor.GetEnvironmentParameterRegister(i)); 119 __ push(descriptor.GetRegisterParameter(i));
120 } 120 }
121 __ CallExternalReference(miss, param_count); 121 __ CallExternalReference(miss, param_count);
122 } 122 }
123 123
124 __ Ret(); 124 __ Ret();
125 } 125 }
126 126
127 127
128 void DoubleToIStub::Generate(MacroAssembler* masm) { 128 void DoubleToIStub::Generate(MacroAssembler* masm) {
129 Label out_of_range, only_low, negate, done, fastpath_done; 129 Label out_of_range, only_low, negate, done, fastpath_done;
(...skipping 5536 matching lines...) Expand 10 before | Expand all | Expand 10 after
5666 kStackUnwindSpace, NULL, 5666 kStackUnwindSpace, NULL,
5667 MemOperand(fp, 6 * kPointerSize), NULL); 5667 MemOperand(fp, 6 * kPointerSize), NULL);
5668 } 5668 }
5669 5669
5670 5670
5671 #undef __ 5671 #undef __
5672 } // namespace internal 5672 } // namespace internal
5673 } // namespace v8 5673 } // namespace v8
5674 5674
5675 #endif // V8_TARGET_ARCH_PPC 5675 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « no previous file | src/ppc/interface-descriptors-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698