1958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier// Copyright 2014 the V8 project authors. All rights reserved.
2958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier// Use of this source code is governed by a BSD-style license that can be
3958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier// found in the LICENSE file.
4958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
5958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier#if V8_TARGET_ARCH_PPC
6958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
7958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier#include "src/interface-descriptors.h"
8958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
9958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Berniernamespace v8 {
10958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Berniernamespace internal {
11958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
12958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register CallInterfaceDescriptor::ContextRegister() { return cp; }
13958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
1413e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdochvoid CallInterfaceDescriptor::DefaultInitializePlatformSpecific(
1513e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch    CallInterfaceDescriptorData* data, int register_parameter_count) {
1613e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch  const Register default_stub_registers[] = {r3, r4, r5, r6, r7};
1713e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch  CHECK_LE(static_cast<size_t>(register_parameter_count),
1813e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch           arraysize(default_stub_registers));
1913e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch  data->InitializePlatformSpecific(register_parameter_count,
2013e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch                                   default_stub_registers);
2113e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch}
22958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
23f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochconst Register FastNewFunctionContextDescriptor::FunctionRegister() {
24f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  return r4;
25f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch}
26f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochconst Register FastNewFunctionContextDescriptor::SlotsRegister() { return r3; }
27f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch
28958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register LoadDescriptor::ReceiverRegister() { return r4; }
29958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register LoadDescriptor::NameRegister() { return r5; }
30014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register LoadDescriptor::SlotRegister() { return r3; }
31958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
32014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register LoadWithVectorDescriptor::VectorRegister() { return r6; }
33958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
34c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdochconst Register LoadICProtoArrayDescriptor::HandlerRegister() { return r7; }
35958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
36958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register StoreDescriptor::ReceiverRegister() { return r4; }
37958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register StoreDescriptor::NameRegister() { return r5; }
38958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register StoreDescriptor::ValueRegister() { return r3; }
39f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochconst Register StoreDescriptor::SlotRegister() { return r7; }
40958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
41f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochconst Register StoreWithVectorDescriptor::VectorRegister() { return r6; }
42014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
43f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochconst Register StoreTransitionDescriptor::SlotRegister() { return r7; }
44f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochconst Register StoreTransitionDescriptor::VectorRegister() { return r6; }
45f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochconst Register StoreTransitionDescriptor::MapRegister() { return r8; }
46958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
47014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register StringCompareDescriptor::LeftRegister() { return r4; }
48014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register StringCompareDescriptor::RightRegister() { return r3; }
49958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
50bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdochconst Register ApiGetterDescriptor::HolderRegister() { return r3; }
51bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdochconst Register ApiGetterDescriptor::CallbackRegister() { return r6; }
52958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
53958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register MathPowTaggedDescriptor::exponent() { return r5; }
54958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
55958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
56958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernierconst Register MathPowIntegerDescriptor::exponent() {
57958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  return MathPowTaggedDescriptor::exponent();
58958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
59958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
60958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
61014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register GrowArrayElementsDescriptor::ObjectRegister() { return r3; }
62014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochconst Register GrowArrayElementsDescriptor::KeyRegister() { return r6; }
63014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
64014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid FastNewClosureDescriptor::InitializePlatformSpecific(
65014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
6662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  Register registers[] = {r4, r5, r6};
67109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
68109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch}
69958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
70014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
71014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch// static
723b9bc31999c9787eb726ecdbfd5796bfdec32a18Ben Murdochconst Register TypeConversionDescriptor::ArgumentRegister() { return r3; }
73958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
74014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid TypeofDescriptor::InitializePlatformSpecific(
75958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
76014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r6};
77014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
78958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
79958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
80958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
81014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid FastCloneRegExpDescriptor::InitializePlatformSpecific(
82958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
83014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r6, r5, r4, r3};
84014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
85958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
86958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
87958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
88014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid FastCloneShallowArrayDescriptor::InitializePlatformSpecific(
89958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
90014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r6, r5, r4};
91014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
92958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
93958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
94958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
95014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid FastCloneShallowObjectDescriptor::InitializePlatformSpecific(
96958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
97014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r6, r5, r4, r3};
98014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
99958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
100958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
101958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
102014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CreateAllocationSiteDescriptor::InitializePlatformSpecific(
103014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
104014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r5, r6};
105014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
106014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
107014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
108014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
109014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CreateWeakCellDescriptor::InitializePlatformSpecific(
110014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
111014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r5, r6, r4};
112014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
113014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
114014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
115014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
116014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CallFunctionDescriptor::InitializePlatformSpecific(
117014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
118014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4};
119014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
120014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
121014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
12262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid CallICTrampolineDescriptor::InitializePlatformSpecific(
123014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
12462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  Register registers[] = {r4, r3, r6};
125014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
126958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
127958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
12862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid CallICDescriptor::InitializePlatformSpecific(
129958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
130c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdoch  Register registers[] = {r4, r3, r6, r5};
131014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
132958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
133958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
134958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
135014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CallConstructDescriptor::InitializePlatformSpecific(
136014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
137958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r3 : number of arguments
138958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r4 : the function to call
139958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r5 : feedback vector
140014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r6 : slot in feedback vector (Smi, for RecordCallTarget)
141014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r7 : new target (for IsSuperConstructorCall)
142958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // TODO(turbofan): So far we don't gather type feedback and hence skip the
143958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // slot parameter, but ArrayConstructStub needs the vector to be undefined.
144014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r3, r4, r7, r5};
145014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
146014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
147014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
148014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
149014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CallTrampolineDescriptor::InitializePlatformSpecific(
150014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
151014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r3 : number of arguments
152014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r4 : the target to call
153014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r3};
154014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
155958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
156958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
15762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid CallForwardVarargsDescriptor::InitializePlatformSpecific(
15862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    CallInterfaceDescriptorData* data) {
15962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // r5 : start index (to support rest parameters)
16062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // r4 : the target to call
16162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  Register registers[] = {r4, r5};
16262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
16362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
164958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
165014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid ConstructStubDescriptor::InitializePlatformSpecific(
166958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
167014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r3 : number of arguments
168014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r4 : the target to call
169014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r6 : the new target
170014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r5 : allocation site or undefined
171014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r6, r3, r5};
172014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
173958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
174958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
175958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
176014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid ConstructTrampolineDescriptor::InitializePlatformSpecific(
177958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
178014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r3 : number of arguments
179014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r4 : the target to call
180014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  // r6 : the new target
181014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r6, r3};
182014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
183958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
184958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
185958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
186014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid TransitionElementsKindDescriptor::InitializePlatformSpecific(
187014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
188014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r3, r4};
189014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
190014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
191014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
192014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
193014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid AllocateHeapNumberDescriptor::InitializePlatformSpecific(
194014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
195014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(0, nullptr, nullptr);
196014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
197014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
19862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid ArrayConstructorDescriptor::InitializePlatformSpecific(
19962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    CallInterfaceDescriptorData* data) {
20062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite
20162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  Register registers[] = {r4, r6, r3, r5};
20262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
20362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
204014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
205bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdochvoid ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific(
206014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
207bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  // register state
208bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  // r3 -- number of arguments
209bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  // r4 -- function
210bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  // r5 -- allocation site with elements kind
211bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  Register registers[] = {r4, r5, r3};
212014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
213014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
214014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
21513e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdochvoid ArraySingleArgumentConstructorDescriptor::InitializePlatformSpecific(
216958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
217958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // register state
218958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r3 -- number of arguments
219958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r4 -- function
220958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // r5 -- allocation site with elements kind
22113e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch  Register registers[] = {r4, r5, r3};
22213e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers, NULL);
223958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
224958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
225958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
22613e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdochvoid ArrayNArgumentsConstructorDescriptor::InitializePlatformSpecific(
227014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
228958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  // stack param count needs (constructor pointer, and single argument)
229014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r5, r3};
230014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
231958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
232958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
233958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
23413e2dadd00298019ed862f2b2fc5068bba730bcfBen Murdochvoid VarArgFunctionDescriptor::InitializePlatformSpecific(
235014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
2363b9bc31999c9787eb726ecdbfd5796bfdec32a18Ben Murdoch  // stack param count needs (arg count)
237014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r3};
238014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
239014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
240014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
2413b9bc31999c9787eb726ecdbfd5796bfdec32a18Ben Murdochvoid CompareDescriptor::InitializePlatformSpecific(
242014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
2433b9bc31999c9787eb726ecdbfd5796bfdec32a18Ben Murdoch  Register registers[] = {r4, r3};
244014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
245958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
246958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
247958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
248014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid BinaryOpDescriptor::InitializePlatformSpecific(
249014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
250014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r3};
251014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
252958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
253958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
254958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
255014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid BinaryOpWithAllocationSiteDescriptor::InitializePlatformSpecific(
256958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier    CallInterfaceDescriptorData* data) {
257014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r5, r4, r3};
258014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
259958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
260958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
261f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdochvoid BinaryOpWithVectorDescriptor::InitializePlatformSpecific(
262f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch    CallInterfaceDescriptorData* data) {
263f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  // register state
264f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  // r4 -- lhs
265f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  // r3 -- rhs
266f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  // r7 -- slot id
267f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  // r6 -- vector
268f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  Register registers[] = {r4, r3, r7, r6};
269f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
270f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch}
271f91f0611dbaf29ca0f1d4aecb357ce243a19d2faBen Murdoch
272bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdochvoid CountOpDescriptor::InitializePlatformSpecific(
273bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch    CallInterfaceDescriptorData* data) {
274bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  Register registers[] = {r4};
275bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
276bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch}
277958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
278014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid StringAddDescriptor::InitializePlatformSpecific(
279014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
280014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {r4, r3};
281014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
282958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
283958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
284958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
285014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid KeyedDescriptor::InitializePlatformSpecific(
286014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
287958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  Register registers[] = {
288958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r5,  // key
289958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
290014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
291958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
292958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
293958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
294014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid NamedDescriptor::InitializePlatformSpecific(
295014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
296958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  Register registers[] = {
297958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r5,  // name
298958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
299014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
300958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
301958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
302958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
303014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid CallHandlerDescriptor::InitializePlatformSpecific(
304014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
305958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  Register registers[] = {
306958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r3,  // receiver
307958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
308014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
309958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
310958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
311958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
312014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid ArgumentAdaptorDescriptor::InitializePlatformSpecific(
313014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
314958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  Register registers[] = {
315958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r4,  // JSFunction
316014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r6,  // the new target
317958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r3,  // actual number of arguments
318958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r5,  // expected number of arguments
319958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
320014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
321014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
322014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
323f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochvoid ApiCallbackDescriptor::InitializePlatformSpecific(
324014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
325958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  Register registers[] = {
326958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r3,  // callee
327958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r7,  // call_data
328958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r5,  // holder
329958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier      r4,  // api_function_address
330958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
331014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
332014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
333014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
334109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdochvoid InterpreterDispatchDescriptor::InitializePlatformSpecific(
335109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch    CallInterfaceDescriptorData* data) {
336109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch  Register registers[] = {
337bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  kInterpreterAccumulatorRegister, kInterpreterBytecodeOffsetRegister,
338bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  kInterpreterBytecodeArrayRegister, kInterpreterDispatchTableRegister};
339109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
340109988c7ccb6f3fd1a58574fa3dfb88beaef6632Ben Murdoch}
341014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
342014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific(
343014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
344014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {
345014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r3,  // argument count (not including receiver)
346014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r5,  // address of first argument
347014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r4   // the target callable to be call
348014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  };
349014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
350014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}
351014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
352014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific(
353014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
354014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {
355014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r3,  // argument count (not including receiver)
356014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r6,  // new target
357014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r4,  // constructor to call
358f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r5,  // allocation site feedback if available, undefined otherwise
359f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r7   // address of the first argument
360f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch  };
361f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
362f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch}
363f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
364f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochvoid InterpreterPushArgsAndConstructArrayDescriptor::InitializePlatformSpecific(
365f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch    CallInterfaceDescriptorData* data) {
366f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch  Register registers[] = {
367f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r3,  // argument count (not including receiver)
368f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r4,  // target to call checked to be Array function
369f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r5,  // allocation site feedback if available, undefined otherwise
370f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch      r6   // address of the first argument
371958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier  };
372014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
373958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
374014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch
375014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochvoid InterpreterCEntryDescriptor::InitializePlatformSpecific(
376014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch    CallInterfaceDescriptorData* data) {
377014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  Register registers[] = {
378014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r3,  // argument count (argc)
379014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r5,  // address of first argument (argv)
380014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch      r4   // the runtime function to call
381014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  };
382014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
383958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier}
384bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch
385bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdochvoid ResumeGeneratorDescriptor::InitializePlatformSpecific(
386bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch    CallInterfaceDescriptorData* data) {
387bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  Register registers[] = {
388bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch      r3,  // the value to pass to the generator
389bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch      r4,  // the JSGeneratorObject to resume
390bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch      r5   // the resume mode (tagged)
391bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  };
392bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
393bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8Ben Murdoch}
39462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
39562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid FrameDropperTrampolineDescriptor::InitializePlatformSpecific(
39662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    CallInterfaceDescriptorData* data) {
39762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  Register registers[] = {
39862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch      r4,  // loaded new FP
39962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  };
40062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  data->InitializePlatformSpecific(arraysize(registers), registers);
40162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
40262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
403014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}  // namespace internal
404014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch}  // namespace v8
405958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier
406958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier#endif  // V8_TARGET_ARCH_PPC
407