OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 | 261 |
262 // Call a code stub. | 262 // Call a code stub. |
263 void CallStub(CodeStub* stub, Condition cond = cc_always, | 263 void CallStub(CodeStub* stub, Condition cond = cc_always, |
264 Register r1 = zero_reg, const Operand& r2 = Operand(zero_reg)); | 264 Register r1 = zero_reg, const Operand& r2 = Operand(zero_reg)); |
265 void CallJSExitStub(CodeStub* stub); | 265 void CallJSExitStub(CodeStub* stub); |
266 | 266 |
267 // Return from a code stub after popping its arguments. | 267 // Return from a code stub after popping its arguments. |
268 void StubReturn(int argc); | 268 void StubReturn(int argc); |
269 | 269 |
270 // Call a runtime routine. | 270 // Call a runtime routine. |
271 // Eventually this should be used for all C calls. | |
272 void CallRuntime(Runtime::Function* f, int num_arguments); | 271 void CallRuntime(Runtime::Function* f, int num_arguments); |
273 | 272 |
274 // Convenience function: Same as above, but takes the fid instead. | 273 // Convenience function: Same as above, but takes the fid instead. |
275 void CallRuntime(Runtime::FunctionId fid, int num_arguments); | 274 void CallRuntime(Runtime::FunctionId fid, int num_arguments); |
276 | 275 |
277 // Tail call of a runtime routine (jump). | 276 // Tail call of a runtime routine (jump). |
278 // Like JumpToRuntime, but also takes care of passing the number | 277 // Like JumpToExternalReference, but also takes care of passing the number |
279 // of parameters. | 278 // of parameters. |
280 void TailCallRuntime(const ExternalReference& ext, | 279 void TailCallExternalReference(const ExternalReference& ext, |
| 280 int num_arguments, |
| 281 int result_size); |
| 282 |
| 283 // Convenience function: tail call a runtime routine (jump). |
| 284 void TailCallRuntime(Runtime::FunctionId fid, |
281 int num_arguments, | 285 int num_arguments, |
282 int result_size); | 286 int result_size); |
283 | 287 |
284 // Jump to the builtin routine. | 288 // Jump to the builtin routine. |
285 void JumpToRuntime(const ExternalReference& builtin); | 289 void JumpToExternalReference(const ExternalReference& builtin); |
286 | 290 |
287 // Invoke specified builtin JavaScript function. Adds an entry to | 291 // Invoke specified builtin JavaScript function. Adds an entry to |
288 // the unresolved list if the name does not resolve. | 292 // the unresolved list if the name does not resolve. |
289 void InvokeBuiltin(Builtins::JavaScript id, InvokeJSFlags flags); | 293 void InvokeBuiltin(Builtins::JavaScript id, InvokeJSFlags flags); |
290 | 294 |
291 // Store the code object for the given builtin in the target register and | 295 // Store the code object for the given builtin in the target register and |
292 // setup the function in r1. | 296 // setup the function in r1. |
293 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 297 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
294 | 298 |
295 struct Unresolved { | 299 struct Unresolved { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 376 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
373 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 377 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
374 #else | 378 #else |
375 #define ACCESS_MASM(masm) masm-> | 379 #define ACCESS_MASM(masm) masm-> |
376 #endif | 380 #endif |
377 | 381 |
378 } } // namespace v8::internal | 382 } } // namespace v8::internal |
379 | 383 |
380 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 384 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
381 | 385 |
OLD | NEW |