OLD | NEW |
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 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 156 |
157 void Call(Label* target); | 157 void Call(Label* target); |
158 | 158 |
159 // Emit call to the code we are currently generating. | 159 // Emit call to the code we are currently generating. |
160 void CallSelf() { | 160 void CallSelf() { |
161 Handle<Code> self(reinterpret_cast<Code**>(CodeObject().location())); | 161 Handle<Code> self(reinterpret_cast<Code**>(CodeObject().location())); |
162 Call(self, RelocInfo::CODE_TARGET); | 162 Call(self, RelocInfo::CODE_TARGET); |
163 } | 163 } |
164 | 164 |
165 // Register move. May do nothing if the registers are identical. | 165 // Register move. May do nothing if the registers are identical. |
| 166 void Move(Register dst, Smi* smi) { LoadSmiLiteral(dst, smi); } |
166 void Move(Register dst, Handle<Object> value); | 167 void Move(Register dst, Handle<Object> value); |
167 void Move(Register dst, Register src, Condition cond = al); | 168 void Move(Register dst, Register src, Condition cond = al); |
168 void Move(DoubleRegister dst, DoubleRegister src); | 169 void Move(DoubleRegister dst, DoubleRegister src); |
169 | 170 |
170 void MultiPush(RegList regs, Register location = sp); | 171 void MultiPush(RegList regs, Register location = sp); |
171 void MultiPop(RegList regs, Register location = sp); | 172 void MultiPop(RegList regs, Register location = sp); |
172 | 173 |
173 void MultiPushDoubles(RegList dregs, Register location = sp); | 174 void MultiPushDoubles(RegList dregs, Register location = sp); |
174 void MultiPopDoubles(RegList dregs, Register location = sp); | 175 void MultiPopDoubles(RegList dregs, Register location = sp); |
175 | 176 |
(...skipping 1430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1606 #define ACCESS_MASM(masm) \ | 1607 #define ACCESS_MASM(masm) \ |
1607 masm->stop(__FILE_LINE__); \ | 1608 masm->stop(__FILE_LINE__); \ |
1608 masm-> | 1609 masm-> |
1609 #else | 1610 #else |
1610 #define ACCESS_MASM(masm) masm-> | 1611 #define ACCESS_MASM(masm) masm-> |
1611 #endif | 1612 #endif |
1612 } // namespace internal | 1613 } // namespace internal |
1613 } // namespace v8 | 1614 } // namespace v8 |
1614 | 1615 |
1615 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1616 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |