OLD | NEW |
---|---|
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
117 const ParameterCount& actual, | 117 const ParameterCount& actual, |
118 RelocInfo::Mode rmode, | 118 RelocInfo::Mode rmode, |
119 InvokeFlag flag); | 119 InvokeFlag flag); |
120 | 120 |
121 // Invoke the JavaScript function in the given register. Changes the | 121 // Invoke the JavaScript function in the given register. Changes the |
122 // current context to the context in the function before invoking. | 122 // current context to the context in the function before invoking. |
123 void InvokeFunction(Register function, | 123 void InvokeFunction(Register function, |
124 const ParameterCount& actual, | 124 const ParameterCount& actual, |
125 InvokeFlag flag); | 125 InvokeFlag flag); |
126 | 126 |
127 void InvokeFunction(JSFunction* function, | |
Vitaly Repeshko
2010/02/12 20:32:40
I think this should either be named JumpFunction o
Mads Ager (chromium)
2010/02/15 08:04:01
Agreed. The usual naming is CallSomething and Tai
antonm
2010/02/15 08:54:26
Thanks a lot, Vitaly and Mads, flag added. Submit
| |
128 const ParameterCount& actual); | |
129 | |
127 // Invoke specified builtin JavaScript function. Adds an entry to | 130 // Invoke specified builtin JavaScript function. Adds an entry to |
128 // the unresolved list if the name does not resolve. | 131 // the unresolved list if the name does not resolve. |
129 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); | 132 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); |
130 | 133 |
131 // Store the code object for the given builtin in the target register. | 134 // Store the code object for the given builtin in the target register. |
132 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 135 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
133 | 136 |
134 // Expression support | 137 // Expression support |
135 void Set(Register dst, const Immediate& x); | 138 void Set(Register dst, const Immediate& x); |
136 void Set(const Operand& dst, const Immediate& x); | 139 void Set(const Operand& dst, const Immediate& x); |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
346 void CallRuntime(Runtime::Function* f, int num_arguments); | 349 void CallRuntime(Runtime::Function* f, int num_arguments); |
347 | 350 |
348 // Call a runtime function, returning the CodeStub object called. | 351 // Call a runtime function, returning the CodeStub object called. |
349 // Try to generate the stub code if necessary. Do not perform a GC | 352 // Try to generate the stub code if necessary. Do not perform a GC |
350 // but instead return a retry after GC failure. | 353 // but instead return a retry after GC failure. |
351 Object* TryCallRuntime(Runtime::Function* f, int num_arguments); | 354 Object* TryCallRuntime(Runtime::Function* f, int num_arguments); |
352 | 355 |
353 // Convenience function: Same as above, but takes the fid instead. | 356 // Convenience function: Same as above, but takes the fid instead. |
354 void CallRuntime(Runtime::FunctionId id, int num_arguments); | 357 void CallRuntime(Runtime::FunctionId id, int num_arguments); |
355 | 358 |
359 // Convenience function: call an external reference. | |
360 void CallExternalReference(ExternalReference ref, int num_arguments); | |
361 | |
356 // Convenience function: Same as above, but takes the fid instead. | 362 // Convenience function: Same as above, but takes the fid instead. |
357 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments); | 363 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments); |
358 | 364 |
359 // Tail call of a runtime routine (jump). | 365 // Tail call of a runtime routine (jump). |
360 // Like JumpToRuntime, but also takes care of passing the number | 366 // Like JumpToRuntime, but also takes care of passing the number |
361 // of arguments. | 367 // of arguments. |
362 void TailCallRuntime(const ExternalReference& ext, | 368 void TailCallRuntime(const ExternalReference& ext, |
363 int num_arguments, | 369 int num_arguments, |
364 int result_size); | 370 int result_size); |
365 | 371 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
533 } \ | 539 } \ |
534 masm-> | 540 masm-> |
535 #else | 541 #else |
536 #define ACCESS_MASM(masm) masm-> | 542 #define ACCESS_MASM(masm) masm-> |
537 #endif | 543 #endif |
538 | 544 |
539 | 545 |
540 } } // namespace v8::internal | 546 } } // namespace v8::internal |
541 | 547 |
542 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 548 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |