OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/globals.h" | 9 #include "src/globals.h" |
10 #include "src/mips64/assembler-mips64.h" | 10 #include "src/mips64/assembler-mips64.h" |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 void Jump(Register target, COND_ARGS); | 212 void Jump(Register target, COND_ARGS); |
213 void Jump(intptr_t target, RelocInfo::Mode rmode, COND_ARGS); | 213 void Jump(intptr_t target, RelocInfo::Mode rmode, COND_ARGS); |
214 void Jump(Address target, RelocInfo::Mode rmode, COND_ARGS); | 214 void Jump(Address target, RelocInfo::Mode rmode, COND_ARGS); |
215 void Jump(Handle<Code> code, RelocInfo::Mode rmode, COND_ARGS); | 215 void Jump(Handle<Code> code, RelocInfo::Mode rmode, COND_ARGS); |
216 static int CallSize(Register target, COND_ARGS); | 216 static int CallSize(Register target, COND_ARGS); |
217 void Call(Register target, COND_ARGS); | 217 void Call(Register target, COND_ARGS); |
218 static int CallSize(Address target, RelocInfo::Mode rmode, COND_ARGS); | 218 static int CallSize(Address target, RelocInfo::Mode rmode, COND_ARGS); |
219 void Call(Address target, RelocInfo::Mode rmode, COND_ARGS); | 219 void Call(Address target, RelocInfo::Mode rmode, COND_ARGS); |
220 int CallSize(Handle<Code> code, | 220 int CallSize(Handle<Code> code, |
221 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, | 221 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
222 TypeFeedbackId ast_id = TypeFeedbackId::None(), | |
223 COND_ARGS); | 222 COND_ARGS); |
224 void Call(Handle<Code> code, | 223 void Call(Handle<Code> code, |
225 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, | 224 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
226 TypeFeedbackId ast_id = TypeFeedbackId::None(), | |
227 COND_ARGS); | 225 COND_ARGS); |
228 void Ret(COND_ARGS); | 226 void Ret(COND_ARGS); |
229 inline void Ret(BranchDelaySlot bd, Condition cond = al, | 227 inline void Ret(BranchDelaySlot bd, Condition cond = al, |
230 Register rs = zero_reg, const Operand& rt = Operand(zero_reg)) { | 228 Register rs = zero_reg, const Operand& rt = Operand(zero_reg)) { |
231 Ret(cond, rs, rt, bd); | 229 Ret(cond, rs, rt, bd); |
232 } | 230 } |
233 | 231 |
234 bool IsNear(Label* L, Condition cond, int rs_reg); | 232 bool IsNear(Label* L, Condition cond, int rs_reg); |
235 | 233 |
236 void Branch(Label* L, | 234 void Branch(Label* L, |
(...skipping 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1420 inline void PrepareCEntryArgs(int num_args) { li(a0, num_args); } | 1418 inline void PrepareCEntryArgs(int num_args) { li(a0, num_args); } |
1421 | 1419 |
1422 inline void PrepareCEntryFunction(const ExternalReference& ref) { | 1420 inline void PrepareCEntryFunction(const ExternalReference& ref) { |
1423 li(a1, Operand(ref)); | 1421 li(a1, Operand(ref)); |
1424 } | 1422 } |
1425 | 1423 |
1426 #define COND_ARGS Condition cond = al, Register rs = zero_reg, \ | 1424 #define COND_ARGS Condition cond = al, Register rs = zero_reg, \ |
1427 const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT | 1425 const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT |
1428 | 1426 |
1429 // Call a code stub. | 1427 // Call a code stub. |
1430 void CallStub(CodeStub* stub, | 1428 void CallStub(CodeStub* stub, COND_ARGS); |
1431 TypeFeedbackId ast_id = TypeFeedbackId::None(), | |
1432 COND_ARGS); | |
1433 | 1429 |
1434 // Tail call a code stub (jump). | 1430 // Tail call a code stub (jump). |
1435 void TailCallStub(CodeStub* stub, COND_ARGS); | 1431 void TailCallStub(CodeStub* stub, COND_ARGS); |
1436 | 1432 |
1437 #undef COND_ARGS | 1433 #undef COND_ARGS |
1438 | 1434 |
1439 void CallJSExitStub(CodeStub* stub); | 1435 void CallJSExitStub(CodeStub* stub); |
1440 | 1436 |
1441 // Call a runtime routine. | 1437 // Call a runtime routine. |
1442 void CallRuntime(const Runtime::Function* f, int num_arguments, | 1438 void CallRuntime(const Runtime::Function* f, int num_arguments, |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1976 dd(GetLabelFunction(index)); | 1972 dd(GetLabelFunction(index)); |
1977 } | 1973 } |
1978 } | 1974 } |
1979 | 1975 |
1980 #define ACCESS_MASM(masm) masm-> | 1976 #define ACCESS_MASM(masm) masm-> |
1981 | 1977 |
1982 } // namespace internal | 1978 } // namespace internal |
1983 } // namespace v8 | 1979 } // namespace v8 |
1984 | 1980 |
1985 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1981 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |